Subscripted assignment dimension mismatch error

2 次查看(过去 30 天)
I'm having this error and unfortunately I can't seem to see what's wrong in it. Here are the dimension of the variables:
ki=150, a=0, b=2, hx=0.1818, c=0, d=5, hy=0.3125, pi=150x1 double
Thank you in advance!
figure(1)
U(1:ki,1:ki)=pi;
[X,Y]=meshgrid(a:hx:b,c:hy:d);
surf(X,Y,U');

采纳的回答

Dave B
Dave B 2021-10-22
When you write:
U(1:ki,1:ki)=pi;
You're trying to put a 150x1 into a 150x150...Maybe what you intended was:
U(1:ki,1:ki)=repmat(pi,1,150);
It's a little unclear what you're after, but if you want to assign to a 150x150 you should probably give it a 150x150
  4 个评论
Dave B
Dave B 2021-10-22
You said you calculate pressure from u1, so I'm not sure what the surface is as pressure doesn't depend on u2...
U = repmat(pi,1,ki);
[X,Y] = meshgrid(linspace(a,b,ki),linspace(c,d,ki));
surf(X,Y,U');
For example:
u1=linspace(0,2*pi,100)';
u2=linspace(0,1,100)';
zi=sin(u1);
[u1i,u2i]=meshgrid(u1,u2);
surf(u1i,u2i,repmat(zi,1,numel(u1)))
If you want to form a matrix U out of various combinations of u1 and u2, I think you'll need interpolation (e.g. interp2, scatteredinterpolant, griddedinterpolant)
Alexandra Roxana
Alexandra Roxana 2021-10-23
It's the first time I'm computing something like that, but at least I can see a graph. Thank you!

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 2-D and 3-D Plots 的更多信息

产品


版本

R2017a

Community Treasure Hunt

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

Start Hunting!

Translated by