Multiple values of x what will be code
25 ビュー (過去 30 日間)
古いコメントを表示
%it is just a example i want to know if there are multiple number of say x with other constant say a and b. Is it possible to plot graph between x and y. I am working with similar code that i wrote below but graph is not showing. Clc; Close all; Clear all; A=5; B=6; X=4,9,56,33 Y=(a+b)/x Plot (X,Y)
0 件のコメント
採用された回答
Star Strider
2020 年 2 月 11 日
Try this:
A=5;
B=6;
X = [4,9,56,33];
Y=(A+B)./X;
figure
plot (X,Y)
Use element-wise operations (the (.) operator) in the division. See Array vs. Matrix Operations for an extended discussion.
3 件のコメント
Star Strider
2020 年 2 月 11 日
The arrayfun call (essentially a slow for loop) is not necessary here. Vectorised MATLAB commands make explicit loops and other such operations unnecessary.
If I understand correctly what you want to do, this should work:
A=31E6;
B=7.625E-43;
C=8.38E-34;
D=700;
f=[23.27,24.72,33.18,34.63,44.08,44.54,44.99];
zfcn = @(z) (2*B*z.^3)./(A*exp(B*z)-1);
figure
plot(f, zfcn(f))
grid
This works for vector ‘f’. Again, note the use of element-wise operations in the exponentiation and division. You can assign the output of ‘zfcn(f)’ to an intermediate variable if you wish. I do not here, and simply use it as an argument to the plot function.
その他の回答 (1 件)
fred ssemwogerere
2020 年 2 月 11 日
While your question may not be so clear, from my understanding, you are trying to find a vector,"Y" from a vector of "X" values. Try this:
A=5; B=6; X=[4,9,56,33];
% your vector "Y". From this you can proceed with your plot
Y=arrayfun(@(z) (A+B)/z, X);
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!