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 Commenti

madhan ravi
madhan ravi il 11 Nov 2018
Modificato: madhan ravi il 11 Nov 2018
a,p_i,multiplier? provide the datas
constants that i've defined earlier in the code. have edited the question body

Accedi per commentare.

 Risposta accettata

madhan ravi
madhan ravi il 11 Nov 2018
Modificato: madhan ravi il 11 Nov 2018
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 Commenti

note I provided some fake datas to constant alter it according to your needs and experiment with it
I tried this and I still get the same error: 'data dimensions must agree'
madhan ravi
madhan ravi il 11 Nov 2018
Modificato: madhan ravi il 11 Nov 2018
but I got the plot , try clear all at the beginning of the code and try again
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.
Anytime :)

Accedi per commentare.

Più risposte (0)

Prodotti

Release

R2016b

Community Treasure Hunt

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

Start Hunting!

Translated by