请教一个简单的matlab程序

请教一个简单的matlab程序,第1张

回楼主

function [rho,theta]=tran(x,y)

rho=sqrt(xx+yy);

theta=atan(y/x);

x=input('Please input x=:');

y=input('Please input y=:');

这一段需要单独保存为M文件,然后再通过[rho,the]=tran(x,y);调用。

它会输出Please input x=:然后你输入x的值,Please input y=:你输入y的值

再运行rho the 得到相应地结果

第一题:

A = pascal(7) %生成77 pascal矩阵

B = A([1,3,5],[5,6,7]) %构成矩阵B

C = A(5:7,1:3) %构成矩阵C

D = B-1C

A =

1 1 1 1 1 1 1

1 2 3 4 5 6 7

1 3 6 10 15 21 28

1 4 10 20 35 56 84

1 5 15 35 70 126 210

1 6 21 56 126 252 462

1 7 28 84 210 462 924

B =

1 1 1

15 21 28

70 126 210

C =

1 5 15

1 6 21

1 7 28

D =

0 -4 -14

14 15 7

69 119 182

第二题:

function A=prime_number()

N=100;

j=1;

for i=2:N

if prod(rem(i,2:(i-1)))~=0

A(j)=i;

j=j+1;

end

end

A =

2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97

在MATLAB中,可以通过创建一个以m为文件扩展名的脚本文件来编写程序。下面是一个简单的例子,展示了如何编写一个名为roadm的MATLAB程序:

打开MATLAB编辑器或任何文本编辑器。

创建一个新文件,并将其命名为roadm,确保文件扩展名为m。

在roadm文件中输入以下MATLAB代码:

% roadm - 一个简单的MATLAB程序示例

% 清空命令窗口和工作空间

clc;

clear;

% 输入用户姓名

name = input('请输入您的姓名: ', 's');

% 输出欢迎消息

fprintf('欢迎来到MATLAB的世界, %s!\n', name);

% 计算两个数的和

a = input('请输入第一个数: ');

b = input('请输入第二个数: ');

sum = a + b;

% 输出计算结果

fprintf('两个数的和是: %d\n', sum);

以上代码演示了一个简单的MATLAB程序,其中包含了输入、输出和简单的计算 *** 作。程序首先清空了命令窗口和工作空间,然后通过input函数获取用户输入的姓名和两个数,通过fprintf函数输出欢迎消息和计算结果。

注意:MATLAB中的注释使用%符号,用于注释掉代码中的一行或多行。注释可以帮助解释代码的作用和功能。

保存roadm文件后,您可以在MATLAB命令窗口中运行这个程序,通过输入road命令即可执行。程序会提示您输入姓名和两个数,然后输出欢迎消息和计算结果。您可以根据自己的需求和逻辑在roadm文件中编写更复杂的MATLAB程序。

虽然我不懂你的程序,但是你里边有几个问题。首先,我复制粘贴到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

把值付给四个变量

wp=2pi5000;ws=2pi12000;Rp=2;As=30;

1 buttord

(1)[N,wc]=buttord(wp,ws,αp,αs)

用于计算巴特沃斯数字滤波器的阶数N和3dB截止频率wc。

调用参数wp,ws分别为数字滤波器的通带、阻带截止频率的归一化值,要求:0≤wp≤1,0≤ws≤1。1表示数字频率pi。

αp,αs分别为通带最大衰减和组带最小衰减(dB)。

当ws≤wp时,为高通滤波器;

当wp和ws为二元矢量时,为带通或带阻滤波器,这时wc也是二元向量。

N,wc作为butter函数的调用参数。

(2)[N,Ωc]=buttord(Ωp,Ωs,αp,αs,‘s’)

用于计算巴特沃斯模拟滤波器的阶数N和3dB截止频率Ωc。

Ωp,Ωs,Ωc均为实际模拟角频率。

说明:buttord函数使用阻带指标计算3dB截止频率,这样阻带会刚好满足要求,而通带会有富余。

2buttap(N)

[z0,p0,k0]=buttap(N)

用于计算N阶巴特沃斯归一化(3dB截止频率Ωc=1)模拟低通原型滤波器系统函数的零、极点和增益因子。

说明:如果要从零、极点模型得到系统函数的分子、分母多项式系数向量ba、aa,可调用

[B,A]=zp2tf(z0,p0,k0)

3butter

(1)[b,a]=butter(N,wc,‘ftype’)

计算N阶巴特沃斯数字滤波器系统函数分子、分母多项式的系数向量b、a。

调用参数N和wc分别为巴特沃斯数字滤波器的阶数和3dB截止频率的归一化值(关于pi归一化),一般是调用buttord(1)格式计算N和wc。

系数b、a是按照z-1的升幂排列。

(2)[B,A]=butter(N,Ωc,‘ftype’,‘s’)

计算巴特沃斯模拟滤波器系统函数的分子、分母多项式系数向量ba、aa。

调用参数N和Ωc分别为巴特沃斯模拟滤波器的阶数和3dB截止频率(实际角频率),可调用buttord(2)格式计算N和Ωc。

系数B、A按s的正降幂排列。

tfype为滤波器的类型:

◇ftype=high时,高通;Ωc只有1个值。

◇ftype=stop时,带阻阻;此时Ωc=[Ωcl,Ωcu],分别为带阻滤波器的通带3dB下截止频率和上截止频率。

◇ ftype缺省时:

若Ωc只有1个值,则默认为低通;

若Ωc有2个值,则默认为带通;其通带频率区间Ωcl < Ω < Ωcu。

注意:所设计的带通和带阻滤波器系统函数是2N阶。因为带通滤波器相当于N阶低通滤波器与N阶高通滤波器级联。

[N,wc]=buttord(wp,ws,Rp,As,'s');

[B,A]=butter(N,wc,'s');

k=0:511;fk=0:14000/512:14000;wk=2pifk;

Hk=freqs(B,A,wk);

画图,两行两列

subplot(2,2,1);

plot(fk/1000,20log10(abs(Hk)));grid on

坐标轴意义

xlabel('频率(kHz)');ylabel('幅度(dB)')

坐标的取值范围

axis([0,14,-40,5])

以上就是关于请教一个简单的matlab程序全部的内容,包括:请教一个简单的matlab程序、请教几道简单的MATLAB程序设计题目、MATLAB如何编写road.m程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: http://outofmemory.cn/zz/9317707.html

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

发表评论

登录后才能评论

评论列表(0条)

保存