Analysing Equation in matlab
1 回表示 (過去 30 日間)
古いコメントを表示
I am new to matlab and I made a graph of flight score against payload to find apoint where we can get max flight score but i ended up getting blank graph.
This is a code I used. Thank you very much for your time.
nl = [1 , 2];
ns = [2 , 3];
payload = [300 , 400];
x = 1*nl;
y = 0.4*ns;
bonus = [0.5 + (1 *nl) + (0.4 * ns)];
T = [ 5 , 8];
d = payload .* bonus;
e = sqrt(d);
f = 80 * e;
fs = f/T;
plot(fs,payload)
1 件のコメント
Johannes Hougaard
2020 年 9 月 24 日
I think this may well be one of the cases where it's kinda counterintuitive that / doesn't do what you think it does.
the '/' operator (mrdivide) is not identical to the './' operator (rdivide). I believe what you're looking for is the element-wise division (rdivide) and that your code should be
nl = [1 , 2];
ns = [2 , 3];
payload = [300 , 400];
x = 1*nl;
y = 0.4*ns;
bonus = [0.5 + (1 *nl) + (0.4 * ns)];
T = [ 5 , 8];
d = payload .* bonus;
e = sqrt(d);
f = 80 * e;
fs = f./T;
plot(fs,payload)
回答 (1 件)
Ollie A
2020 年 9 月 24 日
Be careful when multiplying and dividing arrays; you will need to use the dot notation.
You remembered it for
d = payload .* bonus;
but it is also needed when dividing
fs = f./T;
I also find it helpful to plot data points as crosses:
plot(xdata,ydata,'x')
hold on
plot(xdata,ydata)
that way if you only have 1 data point it will still appear on the plot as a cross.
Also note: if you want flight score on the y-axis and payload on the x-axis, it will be
plot(payload,fs)
1 件のコメント
Johannes Hougaard
2020 年 9 月 24 日
if you like the 'line with cross notation' it's not necessary to call the hold on and a second call to plot you can simple do that by
plot(xdata,ydata,'-x');
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!