f2=@(x,y,z) ((((((x+y+z).^2))/3-(x.*y+y.*z+z.x))).^(3/2)-... b4.(x.*y.z-(x+y+z).(x.*y+y.*z+z.x)./3+(2.(x+y+z).^3)./27))-yield; 参照这个形式,写出treseca屈服准则
时间: 2023-12-17 22:03:30 浏览: 109
根据您提供的表达式,可以将 Treseca 屈服准则写成如下形式:
f3=@(x,y,z) max(abs(x),abs(y),abs(z))-((min(abs(x),abs(y))+min(abs(y),abs(z))+min(abs(z),abs(x)))/2)-yield;
其中,`x`、`y`、`z` 分别代表材料的三个主应力,`yield` 代表屈服强度。
相关问题
MATLAB中 f1=@(x,y,z) x+y+z; if (x.*y.*z-(x+y+z).*(x.*y+y.*z+z.*x)./3+(2.*(x+y+z).^3)./27) >= 0 f21=@(x,y,z) ((((((x+y+z).^2))/3-(x.*y+y.*z+z.*x))).^(3/2)-... b1.*(x.*y.*z-(x+y+z).*(x.*y+y.*z+z.*x)./3+(2.*(x+y+z).^3)./27))-yield; else f22=@(x,y,z) ((((((x+y+z).^2))/3-(x.*y+y.*z+z.*x))).^(3/2)-... b2.*(x.*y.*z-(x+y+z).*(x.*y+y.*z+z.*x)./3+(2.*(x+y+z).^3)./27))-yield; end f2 = [f21 f22] 这句语法对吗
这个语法是不正确的,因为 f21 和 f22 是在 if-else 语句块中定义的局部函数句柄,不能在 if-else 语句块外部使用。如果需要在 if-else 语句块外部使用 f2,可以先在外部定义 f21 和 f22 函数句柄,然后在 if-else 语句块中分别给 f2 赋值,如下所示:
```matlab
f21 = @(x,y,z) ((((((x+y+z).^2))/3-(x.*y+y.*z+z.*x))).^(3/2)-b1.*(x.*y.*z-(x+y+z).*(x.*y+y.*z+z.*x)./3+(2.*(x+y+z).^3)./27))-yield;
f22 = @(x,y,z) ((((((x+y+z).^2))/3-(x.*y+y.*z+z.*x))).^(3/2)-b2.*(x.*y.*z-(x+y+z).*(x.*y+y.*z+z.*x)./3+(2.*(x+y+z).^3)./27))-yield;
if (x.*y.*z-(x+y+z).*(x.*y+y.*z+z.*x)./3+(2.*(x+y+z).^3)./27) >= 0
f2 = f21;
else
f2 = f22;
end
```
这样就可以正确地定义 f2。
f21 = @(x,y,z) ((((((x+y+z).^2))/3-(x.*y+y.*z+z.*x))).^(3/2)-b1.*(x.*y.*z-(x+y+z).*(x.*y+y.*z+z.*x)./3+(2.*(x+y+z).^3)./27))-yield; f22 = @(x,y,z) ((((((x+y+z).^2))/3-(x.*y+y.*z+z.*x))).^(3/2)-b2.*(x.*y.*z-(x+y+z).*(x.*y+y.*z+z.*x)./3+(2.*(x+y+z).^3)./27))-yield; if (x.*y.*z-(x+y+z).*(x.*y+y.*z+z.*x)./3+(2.*(x+y+z).^3)./27) >= 0 f2 = f21; else f2 = f22; end 这段代码不对,运行提示矩阵维度必须一致。 出错 New_Cazacu_Barlat_Of_Third_Effect_in_pai_space_curve_3D_3 (line 26) if (x.*y.*z-(x+y+z).*(x.*y+y.*z+z.*x)./3+(2.*(x+y+z).^3)./27) >= 0
根据代码,出错的原因是在条件语句中,左右两边的矩阵维度不一致。具体来说,是因为在计算 `(x.*y.*z-(x+y+z).*(x.*y+y.*z+z.*x)./3+(2.*(x+y+z).^3)./27)` 时,可能会得到一个矩阵,而条件语句中的 `0` 是一个标量,两者无法比较大小。
解决这个问题的方法是将条件语句中的 `0` 改为一个与上述计算结果维度一致的矩阵,比如可以将 `0` 改为 `zeros(size(x))`。这样做可以确保两边的维度一致,从而避免出现维度不一致的错误。
阅读全文