MATLAB简单程序大全_第1页
MATLAB简单程序大全_第2页
MATLAB简单程序大全_第3页
MATLAB简单程序大全_第4页
MATLAB简单程序大全_第5页
已阅读5页,还剩3页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

MATLAB简单程序大全一、MATLAB入门基础程序(必学)1.简单运算与变量赋值功能:实现基本加减乘除、幂运算,熟悉变量赋值规则,MATLAB中变量无需提前声明,直接赋值即可。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的平方)

i=sqrt(a);%开平方运算

%显示结果

fprintf('a+b=%d\n',c);

fprintf('a-b=%d\n',d);

fprintf('a*b=%d\n',e);

fprintf('a/b=%.2f\n',f);

fprintf('a\\b=%.2f\n',g);

fprintf('a^2=%d\n',h);

fprintf('sqrt(a)=%.2f\n',i);2.向量与矩阵的创建及基本操作功能:创建行向量、列向量、矩阵,实现矩阵的加减、转置、乘法等基本操作,是MATLAB数值计算的基础。matlab

%向量与矩阵创建及基本操作

%1.向量创建

row_vec=[1,2,3,4,5];%行向量(逗号或空格分隔)

col_vec=[1;2;3;4;5];%列向量(分号分隔)

vec_range=1:2:9;%等差数列向量(起始:步长:结束),结果为[1,3,5,7,9]

%2.矩阵创建

mat1=[123;456;789];%3×3矩阵

mat2=zeros(2,3);%2×3全0矩阵

mat3=ones(3,2);%3×2全1矩阵

mat4=eye(4);%4×4单位矩阵(对角线为1,其余为0)

mat5=rand(2,2);%2×2随机矩阵(元素取值0~1)

%3.矩阵基本操作

mat_trans=mat1';%矩阵转置

mat_add=mat1+mat1;%矩阵加法(同维度才能相加)

mat_mul=mat1*mat1;%矩阵乘法(前矩阵列数=后矩阵行数)

mat_inv=inv(mat1);%矩阵求逆(仅方阵可求逆)

mat_det=det(mat1);%矩阵求行列式(仅方阵有行列式)

%显示结果

disp('行向量:');disp(row_vec);

disp('列向量:');disp(col_vec);

disp('3×3矩阵:');disp(mat1);

disp('矩阵转置:');disp(mat_trans);

disp('矩阵行列式:');disp(mat_det);3.条件判断与循环语句(if-else、for、while)功能:实现逻辑判断和循环执行,解决需要分支、重复执行的问题,是编写复杂程序的核心语法。matlab

%条件判断与循环语句

%1.if-else条件判断(判断一个数的正负)

x=-3;

ifx>0

fprintf('%d是正数\n',x);

elseifx==0

fprintf('%d是零\n',x);

else

fprintf('%d是负数\n',x);

end

%2.for循环(计算1到10的累加和)

sum_for=0;

fori=1:10

sum_for=sum_for+i;

end

fprintf('1到10的累加和(for循环):%d\n',sum_for);

%3.while循环(计算1到10的累加和,与for循环效果一致)

sum_while=0;

j=1;

whilej<=10

sum_while=sum_while+j;

j=j+1;

end

fprintf('1到10的累加和(while循环):%d\n',sum_while);二、数值计算类程序1.解方程(一元一次、一元二次)功能:求解简单的代数方程,包括一元一次方程、一元二次方程,利用MATLAB的符号运算功能实现。matlab

%解方程(一元一次、一元二次)

%1.一元一次方程:2x+5=15

symsx1%定义符号变量x1

eq1=2*x1+5==15;%建立方程

sol1=solve(eq1,x1);%求解方程

fprintf('一元一次方程2x+5=15的解:x=%d\n',sol1);

%2.一元二次方程:x²-5x+6=0

symsx2

eq2=x2^2-5*x2+6==0;

sol2=solve(eq2,x2);

fprintf('一元二次方程x²-5x+6=0的解:x1=%d,x2=%d\n',sol2(1),sol2(2));2.数值积分与微分功能:计算函数的定积分、数值微分,适用于无法手动求解的积分/微分问题,常用梯形积分、符号微分方法。matlab

%数值积分与微分

%1.数值积分:计算f(x)=x²在[0,1]上的定积分

x=0:0.01:1;%定义积分区间,步长0.01(步长越小越精确)

f=x.^2;%被积函数(注意用点运算,实现元素级平方)

integral_val=trapz(x,f);%梯形积分法计算定积分

fprintf('f(x)=x²在[0,1]上的定积分:%.4f\n',integral_val);

%2.符号微分:计算f(x)=sin(x)+x³的一阶导数和二阶导数

symsx

f_diff=sin(x)+x^3;

diff1=diff(f_diff,x,1);%一阶导数

diff2=diff(f_diff,x,2);%二阶导数

fprintf('f(x)=sin(x)+x³的一阶导数:');disp(diff1);

fprintf('f(x)=sin(x)+x³的二阶导数:');disp(diff2);3.数据统计与分析功能:对一组数据进行统计,包括求均值、方差、最大值、最小值、中位数等,适用于简单的数据处理场景。matlab

%数据统计与分析

data=[12,15,13,18,16,14,17,19,11,20];%待统计数据

mean_val=mean(data);%均值

var_val=var(data);%方差

std_val=std(data);%标准差

max_val=max(data);%最大值

min_val=min(data);%最小值

median_val=median(data);%中位数

sum_val=sum(data);%总和

%显示统计结果

fprintf('数据:');disp(data);

fprintf('均值:%.2f\n',mean_val);

fprintf('方差:%.2f\n',var_val);

fprintf('标准差:%.2f\n',std_val);

fprintf('最大值:%d\n',max_val);

fprintf('最小值:%d\n',min_val);

fprintf('中位数:%.2f\n',median_val);

fprintf('总和:%d\n',sum_val);三、绘图类程序(基础可视化)1.二维折线图(plot函数)功能:绘制简单的二维折线图,适用于展示数据的变化趋势,可设置线条颜色、样式、标签等。matlab

%二维折线图(plot函数)

x=0:0.1:2*pi;%x轴范围(0到2π,步长0.1)

y1=sin(x);%第一个函数:sin(x)

y2=cos(x);%第二个函数:cos(x)

%绘制折线图

plot(x,y1,'r-','LineWidth',1.5,'DisplayName','sin(x)');%红色实线,线宽1.5,标签sin(x)

holdon;%保持当前图形,继续绘制下一条线

plot(x,y2,'b--','LineWidth',1.5,'DisplayName','cos(x)');%蓝色虚线,线宽1.5,标签cos(x)

%设置图形属性

xlabel('x(弧度)','FontSize',12);%x轴标签

ylabel('y=sin(x)/cos(x)','FontSize',12);%y轴标签

title('sin(x)与cos(x)的二维折线图','FontSize',14);%图形标题

legend('Location','best');%显示图例,自动选择最佳位置

gridon;%显示网格线

holdoff;%结束图形绘制2.柱状图(bar函数)功能:绘制柱状图,适用于对比多组数据的大小,可设置柱状图颜色、宽度等属性。matlab

%柱状图(bar函数)

x=1:5;%x轴刻度(1到5)

y=[10,15,12,18,14];%每组数据的数值(对应x=1到x=5)

%绘制柱状图

bar(x,y,'FaceColor',[0.2,0.6,0.8]);%柱状图颜色(RGB值)

%设置图形属性

xlabel('组别','FontSize',12);

ylabel('数值','FontSize',12);

title('5组数据对比柱状图','FontSize',14);

gridon;%显示网格线

xticks(x);%固定x轴刻度

xticklabels({'组1','组2','组3','组4','组5'});%替换x轴刻度标签3.散点图(scatter函数)功能:绘制散点图,适用于展示两个变量之间的相关性,可设置散点颜色、大小。matlab

%散点图(scatter函数)

x=randn(100,1);%生成100个符合正态分布的x值

y=2*x+randn(100,1);%生成y值(y=2x+随机噪声,模拟线性相关)

%绘制散点图

scatter(x,y,50,'r','filled');%散点大小50,红色,填充样式

%设置图形属性

xlabel('x(正态分布随机数)','FontSize',12);

ylabel('y=2x+噪声','FontSize',12);

title('x与y的散点图(线性相关)','FontSize',14);

gridon;

axisequal;%等比例显示x、y轴四、实用工具类程序1.数据读取与保存(txt文件)功能:读取txt文件中的数据,或将MATLAB中的变量保存为txt文件,实现数据的导入与导出。matlab

%数据读取与保存(txt文件)

%1.保存数据到txt文件

data_save=[1,2,3;4,5,6;7,8,9];%要保存的数据(3×3矩阵)

dlmwrite('data_save.txt',data_save,'delimiter','\t');%保存为txt,分隔符为制表符

fprintf('数据已保存到data_save.txt文件\n');

%2.读取txt文件中的数据

data_read=dlmread('data_save.txt','\t');%读取txt文件,分隔符为制表符

fprintf('读取到的txt文件数据:\n');

di

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论