Plotting 3D graph in polar coordinates

I'm trying to plot a 3D graph of a function in polar coordinates. The function takes a different form at different values of r. a, b and multiplier are constants I've defined earlier in the code (a=11, b=60, multiplier =-14)
r=0:1:60;
theta=0:pi/30:2*pi;
for i=1:61
r(i)=i-1;
if (r(i)<a)
sigmar(i)=-p_i;
else
sigmar(i)=((1-((b^2)/(r(i)^2)))*multiplier);
end
end
I've been trying to plot the 3D curve using
[x,y]=pol2cart(theta, r);
surf(x,y,sigmar)
but when I run the code, it keeps saying 'Data dimensions must agree.'

2 件のコメント

madhan ravi
madhan ravi 2018 年 11 月 11 日
編集済み: madhan ravi 2018 年 11 月 11 日
a,p_i,multiplier? provide the datas
Rachel Attwood
Rachel Attwood 2018 年 11 月 11 日
constants that i've defined earlier in the code. have edited the question body

サインインしてコメントする。

 採用された回答

madhan ravi
madhan ravi 2018 年 11 月 11 日
編集済み: madhan ravi 2018 年 11 月 11 日

0 投票

clear all
r=0:1:60;
theta=0:pi/30:2*pi;
for i=1:61
r(i)=i-1;
if (r(i)<3)
sigmar(i)=-6;
else
sigmar(i)=((1-((7^2)/(r(i)^2)))*-14); %multiplier is a predefined constant
end
end
[x,y]=pol2cart(theta, r);
[X,Y]=meshgrid(x,y);
sigmar=repmat(sigmar,61,1);
surf(X,Y,sigmar)

5 件のコメント

madhan ravi
madhan ravi 2018 年 11 月 11 日
note I provided some fake datas to constant alter it according to your needs and experiment with it
Rachel Attwood
Rachel Attwood 2018 年 11 月 11 日
I tried this and I still get the same error: 'data dimensions must agree'
madhan ravi
madhan ravi 2018 年 11 月 11 日
編集済み: madhan ravi 2018 年 11 月 11 日
but I got the plot , try clear all at the beginning of the code and try again
Rachel Attwood
Rachel Attwood 2018 年 11 月 11 日
Ah great, thanks. I've got a plot now. It's not quite how I expected it to look, so I'll keep playing around with it.
madhan ravi
madhan ravi 2018 年 11 月 11 日
Anytime :)

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

製品

リリース

R2016b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by