%%
%ezcontour ezsurfc x方向的
syms x y;
f=763.94*(((y+25).^3)./(((y+25).^2+x.^2).^2)+(((25-y).^3)-1/50)./(((25-y).^2+x.^2).^2)-1/50);
fcontour(f,[-25 25],'LevelStep',6);
[C,h]=fcontour(x,y,f);clabel(C,h);
axis equal;
%%
%ezcontour ezsurfc y 方向的
syms x y
f=763.94*((((y+25).(x.^2))./((y+25).^2+x.^2).^2)+(((25-y).(x.^2))./((25-y).^2+x.^2).^2)-1/50);
fcontour(f,[-25 25],'LevelStep',6);
[C,h]=fcontour(x,y,f);clabel(C,h);
axis equal;
问题:1,我将x,y两个元互换,可以保证两端应力集中区在上下,不然在左右。不知道有没有其他方法可以让图线密集区在上下?
2,我x,y方向应力等值线图和原论文的等值线的图片相方。即x方向的图片和论文的y方向的图片一致。不知道为啥?
3.虽然我设置了clabel 但是在图片上也没有显示,很奇怪。
作为Matlab初学者,还需要Matlab专家进行指导一下,🙏,
1,除了交换x,y,也可以改变视角 view(90,90); 这样调过来了,要不交换x,y的值,把
f=763.94*(((y+25).^3)./(((y+25).^2+x.^2).^2)+(((25-y).^3)-1/50)./(((25-y).^2+x.^2).^2)-1/50); 写成函数
function ff=MyF(x,y);
ff=763.94*(((y+25).^3)./(((y+25).^2+x.^2).^2)+(((25-y).^3)-1/50)./(((25-y).^2+x.^2).^2)-1/50);
end
然后你调用时候交换
MyF(x,y);
MyF(y,x);
2、不会
这样也能达到目的。
%%
%ezcontour ezsurfc x方向的
figure(1);
[x,y]=meshgrid(-25:1:25);
f=763.94*(((y+25).^3)./(((y+25).^2+x.^2).^2)+(((25-y).^3)-1/50)./(((25-y).^2+x.^2).^2)-1/50);
[C,h]=contour(x,y,f,'LevelStep',6);
%旋转显示,类似于调换x,y
view(90,90);
clabel(C,h);
% for i=-25:5:25
% for j=-25:5:25
% text(i,j,num2str(763.94*(((j+25).^3)./(((j+25).^2+i.^2).^2)+(((25-j).^3)-1/50)./(((25-j).^2+i.^2).^2)-1/50)));
% end
% end
%[C,h]=contour3(x,y,f);
%clabel(C,h);
axis equal;
%%
%ezcontour ezsurfc y 方向的
figure(2);
[x,y]=meshgrid(-25:1:25);
f=763.94*((((y+25).*(x.^2))./((y+25).^2+x.^2).^2)+(((25-y).*(x.^2))./((25-y).^2+x.^2).^2)-1/50);
contour(x,y,f,'LevelStep',6);
%[C,h]=fcontour(x,y,f);
%clabel(C,h);
axis equal;
3、你用的步长是6,但是画图好像得用间隔1才圆滑,也可能是我没理解这个函数clabel