a 是一个100x100矩阵,包含微分方程的数值解。函数a(r,theta)没有r和theta的显式形式。我试过创建一个使用meshgrid对r和theta进行网格划分,然后使用pol2cart将问题转换为笛卡尔坐标系。但是这不起作用,因为 a 不能用r和theta来表达。
[R, Theta]=meshgrid(r,theta);
[x,y,A]=pol2cart(Theta,r,a);
contourf(x,y,A,50,'linecolor','none');
答案 0 :(得分:0)
看起来错误可能仅仅是大写问题。 'r' - > 'R'在我的测试实现中产生了极坐标等值线。
% Setting up the plotting ranges
r = 0:99;
theta = linspace(0,2*pi,100);
[R, Theta]=meshgrid(r,theta);
a = R + Theta; % Your numerical solution goes here
[x,y,A]=pol2cart(Theta,R,a); % <- Your error is here?
contourf(x,y,A,50,'linecolor','none');
pol2cart函数的参数应该具有相同的大小。