版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
MATLAB简单程序大全一、入门基础程序(适合新手)1.HelloWorld(入门必写)功能:输出“HelloMATLAB!”,熟悉MATLAB的输出语句。matlab
%HelloWorld程序
fprintf('HelloMATLAB!\n');%输出语句,\n表示换行
%另一种简单写法
disp('HelloMATLAB!');%disp函数直接输出字符串2.变量赋值与基本运算功能:定义变量、进行加减乘除、幂运算等基本操作,查看变量值。matlab
%变量赋值
a=10;%给变量a赋值10
b=5;%给变量b赋值5
%基本运算
c=a+b;%加法
d=a-b;%减法
e=a*b;%乘法
f=a/b;%除法(浮点除法)
g=a\b;%左除法(等价于b/a)
h=a^2;%幂运算(a的平方)
%输出结果
fprintf('a+b=%d,a-b=%d,a*b=%d\n',c,d,e);
fprintf('a/b=%.2f,a\\b=%.2f,a²=%d\n',f,g,h);3.输入输出交互功能:通过键盘输入变量值,结合输出语句实现交互。matlab
%输入输出交互程序
name=input('请输入你的名字:','s');%'s'表示输入字符串
age=input('请输入你的年龄:');%默认输入数值
%输出交互结果
fprintf('你好,%s!你的年龄是%d岁。\n',name,age);
%简单计算交互
x=input('请输入一个数字:');
y=x*2+3;
fprintf('你输入的数字x=%d,计算2x+3的结果是:%d\n',x,y);二、数值计算程序1.求数组的基本统计量功能:计算数组的最大值、最小值、平均值、求和、标准差等。matlab
%数组统计量计算
arr=[1,3,5,7,9,11,13];%定义一个数组
max_val=max(arr);%最大值
min_val=min(arr);%最小值
mean_val=mean(arr);%平均值
sum_val=sum(arr);%求和
std_val=std(arr);%标准差(样本标准差)
var_val=var(arr);%方差
%输出结果
fprintf('数组:');disp(arr);
fprintf('最大值:%d,最小值:%d\n',max_val,min_val);
fprintf('平均值:%.2f,求和:%d\n',mean_val,sum_val);
fprintf('标准差:%.2f,方差:%.2f\n',std_val,var_val);2.解方程(一元一次/二次方程)功能:求解一元一次方程(如2x+5=0)、一元二次方程(如x²-3x+2=0)。matlab
%1.解一元一次方程:2x+5=0
%等价于2x=-5,用左除法求解
a1=2;
b1=-5;
x1=b1/a1;%或x1=a1\b1
fprintf('一元一次方程2x+5=0的解:x=%f\n',x1);
%2.解一元二次方程:x²-3x+2=0
%方程形式:ax²+bx+c=0,这里a=1,b=-3,c=2
a2=1;
b2=-3;
c2=2;
%求根公式:x=[-b±√(b²-4ac)]/(2a)
delta=b2^2-4*a2*c2;%判别式
x2_1=(-b2+sqrt(delta))/(2*a2);%第一个根
x2_2=(-b2-sqrt(delta))/(2*a2);%第二个根
fprintf('一元二次方程x²-3x+2=0的解:x1=%d,x2=%d\n',x2_1,x2_2);3.矩阵基本操作功能:定义矩阵、矩阵加减乘、转置、求逆、求行列式等。matlab
%矩阵基本操作
A=[123;456;789];%定义3x3矩阵
B=[987;654;321];%定义另一个3x3矩阵
%矩阵运算
C=A+B;%矩阵加法
D=A-B;%矩阵减法
E=A*B;%矩阵乘法(注意:维度匹配)
F=A';%矩阵转置
G=inv(A);%矩阵求逆(A必须为方阵且非奇异)
H=det(A);%矩阵行列式
%输出结果
fprintf('矩阵A:\n');disp(A);
fprintf('矩阵B:\n');disp(B);
fprintf('A+B:\n');disp(C);
fprintf('A-B:\n');disp(D);
fprintf('A*B:\n');disp(E);
fprintf('A的转置:\n');disp(F);
fprintf('A的逆矩阵:\n');disp(G);
fprintf('A的行列式:%d\n',H);三、图形绘制程序(基础绘图)1.绘制单条折线图功能:绘制y=sin(x)在x∈[0,2π]的折线图,添加标题、坐标轴标签。matlab
%绘制sin(x)折线图
x=0:0.1:2*pi;%定义x范围,从0到2π,步长0.1
y=sin(x);%计算y值(sin函数)
%绘图
plot(x,y,'r-','LineWidth',1.5);%红色实线,线宽1.5
%添加图表元素
title('y=sin(x)函数图像');%标题
xlabel('x(0~2π)');%x轴标签
ylabel('y=sin(x)');%y轴标签
gridon;%显示网格
legend('sin(x)');%图例2.绘制多条曲线在同一图中功能:在同一坐标系中绘制y=sin(x)和y=cos(x),区分颜色和线型。matlab
%同一图中绘制多条曲线
x=0:0.1:2*pi;
y1=sin(x);
y2=cos(x);
%绘图,指定颜色和线型
plot(x,y1,'r-','LineWidth',1.5,'DisplayName','sin(x)');
holdon;%保持当前图像,继续绘制下一条曲线
plot(x,y2,'b--','LineWidth',1.5,'DisplayName','cos(x)');
%添加图表元素
title('y=sin(x)和y=cos(x)函数图像');
xlabel('x');
ylabel('y');
gridon;
legend;%显示图例(使用DisplayName的值)
holdoff;%结束绘图保持3.绘制直方图功能:生成随机数,绘制直方图,查看数据分布。matlab
%绘制直方图
rng(1);%固定随机种子,使结果可重复
data=randn(1,1000);%生成1000个标准正态分布随机数
%绘制直方图
histogram(data,30,'FaceColor',[0.2,0.8,0.5]);%30个bins,绿色填充
%添加图表元素
title('标准正态分布随机数直方图');
xlabel('随机数取值');
ylabel('频数');
gridon;四、条件判断与循环程序1.条件判断(if-else语句)功能:判断输入数字的正负性,输出对应提示。matlab
%条件判断程序
num=input('请输入一个数字:');
ifnum>0
fprintf('你输入的数字%d是正数\n',num);
elseifnum==0
fprintf('你输入的数字是0\n');
else
fprintf('你输入的数字%d是负数\n',num);
end2.for循环(求1到100的和)功能:使用for循环计算1+2+3+...+100的和。matlab
%for循环求1到100的和
sum_total=0;%初始化求和变量
fori=1:100%循环从1到100,步长1
sum_total=sum_total+i;%累加
end
fprintf('1到100的和为:%d\n',sum_total);3.while循环(求1到n的累加和,直到和大于1000)功能:使用while循环,累加1、2、3...,直到和大于1000,输出此时的n和总和。matlab
%while循环求累加和
sum_while=0;
n=1;
whilesum_while<=1000
sum_while=sum_while+n;
n=n+1;
end
fprintf('当累加和大于1000时,n=%d,总和为%d\n',n-1,sum_while);五、常用小工具程序1.计算两个数的最大公约数(GCD)matlab
%计算最大公约数
a=input('请输入第一个正整数:');
b=input('请输入第二个正整数:');
%辗转相除法求GCD
whileb~=0
temp=b;
b=mod(a,b);%求a除以b的余数
a=temp;
end
fprintf('两个数的最大公约数是:%d\n',a);2.批量生成随机数并保存到文件功能:生成100个0-100的随机整数,保存到txt文件中。matlab
%生成随机数并保存
rng(2);%固定随机种子
random_nums=randi([0,100],1,100);%生成1x100的0-100随机整数
%保存到txt文件
fid=fopen('random_nums.txt','w');%打开文件,'w'表示写入(覆盖原有内容)
fprintf(fid,'%d',random_nums);%写入数据
fclose(fid);%关闭文件
fprintf('100个随机整数已保存到random_nums.txt文件中\n');3.简单的函数定义与调用功能:定义一个求矩形面积的函数,调用函数计算面积。matlab
%定义函数(可单独保存为.m文件,或在脚本中用局部函数)
%方法1:脚本中直接定义(需放在脚本末尾)
functionarea=rectangle_area(length,width)
area=length*width;%矩形面积公式
end
%调用函数
len=input('请输入矩形的长:');
wid=input('请输入矩形的宽:');
rect_area=rectangle_area(len,wid);
fprintf('矩形的面积是:%d\n',rect_area);
%方法2:单独创建rectangle_area.m文件(仅函数
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论