曲嘉
开通时间:..
最后更新时间:..
case 'char'
if exist([fun,'.m'],'file')
syms x y z;
if nargin(str2func(fun)) == 3
f_sym = eval([fun,'(x,y,z)']); else
error('Ezimplot3:Arguments',...
'%s must be a function of 3 arguments or unknown function',fun);
end
f_text = strrep(char(f_sym),' ','');
f_hand = eval(['@(x,y,z)',vectorize(f_text),';']);
else
f_hand = eval(['@(x,y,z)',vectorize(fun),';']);
f_text = strrep(fun,'.',''); f_text = strrep(f_text,' ',''); end
case 'sym'
f_hand = eval(['@(x,y,z)',vectorize(fun),';']);
f_text = strrep(char(fun),' ','');
case {'function_handle', 'inline'}
syms x y z;
if nargin(fun) == 3 && numel(symvar(char(fun))) == 3
f_sym = fun(x,y,z);
else
error('Ezimplot3:Arguments',...
'%s must be function of 3 arguments or unknown function',char(fun));
end
f_text = strrep(char(f_sym),' ','');
f_hand = eval(['@(x,y,z)',vectorize(f_text),';']);
otherwise
error('First argument "fun" must be of type character, simbolic, function handle or inline');
end
k=1; %下面分别计算含参数的两个动态模型
syms x y z;
fk=(1/22877.17).*((x-y+k.*(3.*(x-y)/11438.59)./((2*x-y-z+8.77).^2./11438.59+(2*y-x-z+8.77).^2./11438.59+(2*z-y-x+8.77).^2./11438.59).^0.5)^2+...
(x-z+k.*(3.*(x-z)./11438.59)./((2*x-y-z+8.77).^2./11438.59+(2*y-x-z+8.77)^2./11438.59+(2*z-y-x+8.77).^2./11438.59).^0.5).^2+...
(y-z+k.*(3.*(y-z)./11438.59)./((2*x-y-z+8.77).^2./11438.59+(2*y-x-z+8.77).^2./11438.59+(2*z-y-x+8.77).^2./11438.59).^0.5).^2)+...
(1/8.77).*(x+y+z+26.31*k./((2*x-y-z+8.77).^2./11438.59+(2*y-x-z+8.77).^2./11438.59+(2*z-y-x+8.77).^2./11438.59).^0.5)-1;
f2=@(x,y,z)fk;
ezimplot3(f2,[-20000,20000]) %带参数的扩张模型
clear;
f1=@(x,y,z)((x-y).^2+(x-z).^2+(y-z).^2)/(6*20086.16)+(x+y+z)/92.4-1/105.36;
ezimplot3(f1,[-20000,20000]); %带参数的随动模型
clear %求解随动模型中单轴拉压值
k=1e-6; %10-6应变率下的单轴拉压值
syms x;
y=0;z=0;
f=((x-y).^2+(x-z).^2+(y-z).^2)/(6*20086.16)+(x+y+z)/92.4-(1+0.14*k)/105.36;
f
solve('f=0','x')
clear
k=1e-3; %10-3应变率下的单轴拉压值
syms x;
y=0;z=0;
f=((x-y).^2+(x-z).^2+(y-z).^2)/(6*20086.16)+(x+y+z)/92.4-(1+0.14*k)/105.36;
f
solve('f=0','x')
clear