问一下大神matlab应该怎么编程

问一下大神matlab应该怎么编程,第1张

不需要用循环,直接使用逻辑数组运算更快。

我假设你的x和x(1)--x(n)是不同的变量,那么我用a来表示你的x,用x数组代表你的x(1)--x(n)

我随便给这些数赋值

a=10;

x=1:3:30;

k=5;

temp = true(size(x));

temp(k) = false;

y = prod(a - x) / prod(x(k) - x(temp));

a-x是生成数组[a-x(1), a-x(2), , a-x(n)],prod()是吧这个数组相乘

temp是一个逻辑数组,和x相同大小,并且只有第k个数是false。x(temp)就是生成[x(1), x(2),, x(k-1), x(k+1), , x(n)]

其他的应该容易理解

补充:拉格朗日插值多项式可也这么写:

%x0,y0是已知各点坐标,共n点

x0 = [1, 2, 3];

y0 = [1, 8, 27];

n = length(x0);

%x是要求的点

x = 4;

y = 0;

for k = 1:n

temp = true(size(x0));

temp(k) = false;

y = y + y0(k) prod(x - x0(temp)) / prod(x0(k) - x0(temp));

end

虽然我不懂你的程序,但是你里边有几个问题。首先,我复制粘贴到MATLAB之后字母Ф都是现实红色的(红色是有问题咯)。我随便用个字母Q代替了下。还有就是输出图像plot(Ia,n1,n2,n3,'k')这一行中n2,n3,这两个,都是在中文输入法下打出来的。当然也不行,这些符号仅能在英文状态下输入。然后运行有输出。图像在附件中。希望对你有帮助。

>> %直流电动机转速特性曲线

%以n=f(Ia)关系画出曲线

%--------------------------------

%当改变

%下面输入电机的基本数据:

q=1;Ce=1;Ra=00161;

%规定变量变化范围:

Ia=0:100:2000;U1=750;U2=800;U3=700;

%带入公式,计算出直流电动机转速特性曲线:

n1=(U1/(Ceq))-(RaIa)/(Ceq);

n2=(U2/(Ceq))-(RaIa)/(Ceq);

n3=(U3/(Ceq))-(RaIa)/(Ceq);

plot(Ia,n1,n2,n3,'k')

xlabel('Ia')

ylabel('n')

grid on

y1==y2

条件不会严格满足,可以考虑在容差范围内认为是相等,同时循环步长要减小即:

abs(y1-y2)<1e-2

这段程序可以用:

solve('x=cos(x)')

clear all

clc

x=[1,2,3];

y=[2,3,4];

plot(x,y) % 二维图像

z=[3,4,5];

plot3(x,y,z) % 三维图像

可以用help plot来看一下相关的其他命令,例如figure, mesh 等

以上就是关于问一下大神matlab应该怎么编程全部的内容,包括:问一下大神matlab应该怎么编程、简单的MATLAB程序,我不会matlab、一个简单的matlab程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址:https://54852.com/zz/9528245.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存