problem in plot of given equation
1 回表示 (過去 30 日間)
古いコメントを表示
df=1:300;
nc=1.33;
ns=1.5;
nf=1.59;
theta=10:60
y=zeros(length(theta),length(df))
x=1.5*sind(theta);
l=632.8;
zfc=(l/2*pi)*sqrt(x.^2-nc.^2);
zfs=(l/2*pi)*sqrt(x.^2-ns.^2);
p=1;
de=df+zfc+zfs
y=(nc/x)*((nf^2-x^2)./(nf^2-nc^2))*(zfc/de)*(2*(x/nc)^2-1)^p;
plot(df,y)
iI have problem to plot the graph
1 件のコメント
M.MUSBA Elhadid
2022 年 2 月 5 日
The sizes of vectors that are input arguments to plot function have to be the same. So you have to check it.
回答 (1 件)
Abhaya
2024 年 9 月 24 日
編集済み: Abhaya
2024 年 9 月 24 日
Hi Shiv,
The error you are encountering occurs while adding the vectors‘df’,‘zfc’, and‘zfs’, which have different sizes. Specifically, the vector‘df’is of size 1x300, while‘zfc’and‘zfs’are calculated based on the vector‘theta’, which is of a size 1x51. To resolve this issue, you can make vector‘theta’of size 1x300 using MATLAB‘linspace’function.
theta=linspace(10,60,300);
Additionally, when calculating 'y', ensure that you are using element-wise operations to handle each element of the vectors individually. The code given below shows how you can assign values to ‘y’:
y=(nc./x).*((nf^2-x.^2)./(nf^2-nc^2))*(zfc/de).*(2*(x/nc).^2-1).^p;
Please refer to the code snippet given below, to resolve the error.
df = 1:300;
nc = 1.33;
ns = 1.5;
nf = 1.59;
% adjust theta to match the size of df
theta = linspace(10, 60, 300);
x = 1.5 * sind(theta);
l = 632.8;
zfc = (l / (2 * pi)) * sqrt(x.^2 - nc.^2);
zfs = (l / (2 * pi)) * sqrt(x.^2 - ns.^2);
p = 1;
% ensure df, zfc, and zfs are compatible in size
de = df + zfc + zfs;
% using element-wise operations to handle each element of the vectors individually
y = (nc ./ x) .* ((nf^2 - x.^2) ./ (nf^2 - nc^2)) .* (zfc ./ de) .* (2 * (x ./ nc).^2 - 1).^p;
plot(df, y);
For more information on ‘linspace’, please follow the MATLAB documentation for ‘linspace’ function.
Hope this helps.
0 件のコメント
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!