[已解决] gradient函数输出参数太多

[复制链接]
fromtheglow 发表于 6 天前
  1. syms s r
  2. x=-200:10:200;
  3. y=-110:10:110;
  4. [X,Y]=meshgrid(x,y);
  5. f1=0.5*((70-150*(1-exp(14)))/(150*exp(3)));
  6. f2=0.5*((70-23.39-150*(1-exp(0.02*(70-23.39))))/(150*exp(3)));
  7. f3=0.5*((70-46.78-150*(1-exp(0.02*(70-46.78))))/(150*exp(3)));
  8. for ii = 1:length(x)
  9.     for jj = 1:length(y)
  10.         w1=-1.9.*int(int((1/780).*exp(-pi.*((x(ii)-s).^2+(y(jj)-r).^2)./780),r,0,60),s,0,65.5);
  11.         w2=-1.9.*int(int((1/780).*exp(-pi.*((x(ii)-s).^2+(y(jj)-r).^2)/780),r,0,60),s,65.5,131);
  12.         w3=-1.9.*int(int((1/780).*exp(-pi.*((x(ii)-s).^2+(y(jj)-r).^2)/780),r,0,60),s,131,196);
  13.         U(ii,jj)=w1*f1+w2*f2+w3*f3;
  14.     end
  15. end
  16. [UX,UY]= gradient(U);%求U在x方向上的梯度
  17. Z=0.3*UX;
  18. mesh(X,Y,double(Z)');
复制代码
错误使用 sym/gradient
输出参数太多。

尝试改成
  1. [UX,UY]= gradient(U,10,10)
复制代码
错误使用 sym/gradient
输入参数太多。

但是在f3,w3不参与计算的情况下,程序正常运行

谢谢各位的解答



最佳答案


20141303 发表于 6 天前
仅供参考
  1. syms s r
  2. x=-200:10:200;
  3. y=-110:10:110;
  4. [X,Y]=meshgrid(x,y);
  5. f1=0.5*((70-150*(1-exp(14)))/(150*exp(3)));
  6. f2=0.5*((70-23.39-150*(1-exp(0.02*(70-23.39))))/(150*exp(3)));
  7. f3=0.5*((70-46.78-150*(1-exp(0.02*(70-46.78))))/(150*exp(3)));
  8. for ii = 1:length(x)
  9.     for jj = 1:length(y)
  10.         w1=double(-1.9.*int(int((1/780).*exp(-pi.*((x(ii)-s).^2+(y(jj)-r).^2)./780),r,0,60),s,0,65.5));
  11.         w2=double(-1.9.*int(int((1/780).*exp(-pi.*((x(ii)-s).^2+(y(jj)-r).^2)/780),r,0,60),s,65.5,131));
  12.         w3=double(-1.9.*int(int((1/780).*exp(-pi.*((x(ii)-s).^2+(y(jj)-r).^2)/780),r,0,60),s,131,196));
  13.         U(ii,jj)=w1*f1+w2*f2+w3*f3;
  14.     end
  15. end
  16. [UX,UY]= gradient(U);%求U在x方向上的梯度
  17. Z=0.3*UX;
  18. mesh(X,Y,double(Z)');
复制代码
回复此楼

1 条回复


20141303 发表于 6 天前
仅供参考
  1. syms s r
  2. x=-200:10:200;
  3. y=-110:10:110;
  4. [X,Y]=meshgrid(x,y);
  5. f1=0.5*((70-150*(1-exp(14)))/(150*exp(3)));
  6. f2=0.5*((70-23.39-150*(1-exp(0.02*(70-23.39))))/(150*exp(3)));
  7. f3=0.5*((70-46.78-150*(1-exp(0.02*(70-46.78))))/(150*exp(3)));
  8. for ii = 1:length(x)
  9.     for jj = 1:length(y)
  10.         w1=double(-1.9.*int(int((1/780).*exp(-pi.*((x(ii)-s).^2+(y(jj)-r).^2)./780),r,0,60),s,0,65.5));
  11.         w2=double(-1.9.*int(int((1/780).*exp(-pi.*((x(ii)-s).^2+(y(jj)-r).^2)/780),r,0,60),s,65.5,131));
  12.         w3=double(-1.9.*int(int((1/780).*exp(-pi.*((x(ii)-s).^2+(y(jj)-r).^2)/780),r,0,60),s,131,196));
  13.         U(ii,jj)=w1*f1+w2*f2+w3*f3;
  14.     end
  15. end
  16. [UX,UY]= gradient(U);%求U在x方向上的梯度
  17. Z=0.3*UX;
  18. mesh(X,Y,double(Z)');
复制代码
回复此楼
您需要登录后才可以回帖 登录 | 注册

本版积分规则

相关帖子
热门教程
站长推荐
快速回复 返回顶部 返回列表