matlab如何输入自变量区间

matlab如何输入自变量区间,第1张

第一步:根据G=Σcos(x+i*b)方程,建立目标函数,且为最小。即 min G

建立目标函数的关键是,使用for循环语句求解G(i)=Σcos(x+i*b),然后用var函数求出G(i)的方差

第二步:根据G≤1.5条件,建立约束函数。建立约束函数的关键是,使用for循环语句求解G(i)=Σcos(x+i*b),使得ΣG(i)≤1.5

第三步:根据 -π/2≤x ≤ π/2 和 n>1,确定x、n的上限和下限值。即VLB=[1,-pi/2],VUB=[100,pi/2]

第四步:使用fmincon函数求出k值(x、n的值)。即[k,fval,exitflag]=fmincon(@(k)myfun(k),x0,[],[],[],[],VLB,VUB,@(k)mycon(k))

第五步:也就是最关键的一步。验证,求出的x、n值,是否满足G≤1.5

按照上述步骤要求,进行编程后运行可得如下结果。

n=3,b=1.6667,G=0.12908

对于函数Sa(t)=sin(x)/x,其中x∈[-10π,10π],matlab中可以这样表示:

x=-10*pi:10*piS=sin(x)补充问题回答:x=-2*pi:pi/10:2*pi表示x∈[-2π,2π];t=0:pi/50:4*pi表示t∈[0,4π];这是由于在matlab中,如果想表示一个范围,比如说x∈[a,b],可以这样表示,x=a:dx:b,代表x从a取到b,每隔dx取一个点。

所以这里的x=-2*pi:pi/10:2*pi,就代表x从-2π取到2π,每隔π/10取一个点。这里pi/10,pi/50就是取的每两个相邻点的间隔。

matlab中八种整数类型的取值范围:

1、int8()取值范围:-128~127。

2、int16()取值范围:-32768~32767。

3、int32()取值范围:-2147483648~2147483647。

4、int64()取值范围:-9223372036854775808~-9223372036854775807。

5、uint8()取值范围:0~255。

6、uint16()取值范围:0~65535。

7、uint32()取值范围:0~4294967295。

8、uint64()取值范围:0~9223372036854775807。

可以用x=linspace(0,90)表示开区间;程序如下:

clear,clc

linspace(-1,1)

y=1./(1-x)./(1+x)

plot(x,y)

再举一个例子:用MATLAB画函数y=1/(1-x)/(1+x)代码如下

clear,clc

x=linspace(-1,1)

y=1./(1-x)./(1+x)

plot(x,y)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8159322.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-14
下一篇 2023-04-14

发表评论

登录后才能评论

评论列表(0条)

保存