[已答复] 请问如何将我用meshgrid设置好的(x,y)测量点按照0<=x<1000,1000<x<10000以及x>10000分类然后安装不同的系数来计算sigy和sigz公式?

[复制链接]
AyanamiLD 发表于 2021-9-14 10:35:56
本帖最后由 AyanamiLD 于 2021-9-14 14:49 编辑

Q=24245.0533;
u=3.3;
H1=100;
w=8.11;
D=3.2;
[x,y]=meshgrid(0:20:34000,-3000:20:3000);
if 0<=x<=1000 %我是纯小白,这里用的if是错的,只是想让大佬明白想表达啥意思。
    m1=0.110726;
    m2=0.104634;
    n1=0.929418;
    n2=0.826212;
elseif 1000<x<=10000
    m1=0.146669;
    m2=0.400167;
    n1=0.888723;
    n2=0.632023;
elseif x>10000
    m1=0.146669;
    n1=0.888723;
    m2=0.810763
    n2=0.555360;
end
sigy=m1*x.^n1;  %想通过不同的x范围来取不同的m1m2n1n2的值然后计算sigy以及sigz
sigz=m2*x.^n2;
H2=1.44*D*((w/u)^(2/3))*((x./D).^(1/3));
H3=ones(301,1701)*(3*(w/u)*D);
H0=min(H2,H3);
H=H1+H0;
c=Q./(pi*sigy.*sigz*u).*exp(-0.5*(abs(y)./sigy).^2).*exp(-0.5*(H./sigz).^2);
mesh(x,y,c);
我是纯小白,这里用的if是错的,只是想让大佬明白想表达啥意思。

3 条回复


1119093102 发表于 2021-9-14 13:49:02
你这是基础语法问题,哪个语言能这样子写?写了第一个if还有判断条件,第二个就没有了

AyanamiLD 发表于 2021-9-14 14:43:58
1119093102 发表于 2021-9-14 13:49
你这是基础语法问题,哪个语言能这样子写?写了第一个if还有判断条件,第二个就没有了 ...

不好意思没注意,但是if确实不适用这个要求,只是想让大家看明白我想表达啥意思,我不知道用啥语句来把我那个要求弄出来

1119093102 发表于 2021-9-14 16:43:21
AyanamiLD 发表于 2021-9-14 14:43
不好意思没注意,但是if确实不适用这个要求,只是想让大家看明白我想表达啥意思,我不知道用啥语句来把我 ...

这不是可以通过判断进行吗?还是你要矩阵化,通过if不就可以进行不同系数的赋值了吗?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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