美文网首页
matlab程序设计

matlab程序设计

作者: Acapella_Zhang | 来源:发表于2019-04-11 23:17 被阅读0次

1.符号运算

1.1创建符号对象

  • sym()
  • syms()
    其中syms()可以创建多个对象
a=1/4;
b='1/4';
c=sym(1/4);
d=sym('1/4');
classa=class(a)
classb=class(b)
classc=class(c)
classd=class(d)

classa =

double


classb =

char


classc =

sym


classd =

sym

1.2 例子

  1. 计算积分
syms A t tao w
 yf=int(A*exp(-i*w*t),t,-tao/2,tao/2)
>>
(2*A*sin((tao*w)/2))/w
  1. 计算矩阵行列式值,特征值,特征根
  • det() :计算行列式
  • inv() : 计算特征值
  • eig() : 计算特征根
 syms a11 a12 a21 a22
 A=[a11,a12;a21,a22]
 DA=det(A)
 IA=inv(A)
 EA=eig(A)
>>
DA =
 
a11*a22 - a12*a21
 
 
IA =
 
[  a22/(a11*a22 - a12*a21), -a12/(a11*a22 - a12*a21)]
[ -a21/(a11*a22 - a12*a21),  a11/(a11*a22 - a12*a21)]
 
 
EA =
 
 a11/2 + a22/2 - (a11^2 - 2*a11*a22 + a22^2 + 4*a12*a21)^(1/2)/2
 a11/2 + a22/2 + (a11^2 - 2*a11*a22 + a22^2 + 4*a12*a21)^(1/2)/2
 
  1. 化简与展开
  • simpilify()
syms fai1 fai2
y=simplify(sin(fai1)*cos(fai2)-cos(fai1)*sin(fai2))

>>
y =
 
sin(fai1 - fai2)

y=sym('(x+1)^3')
 y=expand(y)

>>
y =
 
x^3 + 3*x^2 + 3*x + 1
  1. 因式分解
  • factor()
syms a x
f1=x^4-5*x^3+5*x^2+5*x-6;factor(f1)
f2=x^2-a^2;factor(f2)
factor(1025)

>>
ans =
 
[ x - 1, x - 2, x - 3, x + 1]
 
 
ans =
 
[ -1, a - x, a + x]
 

ans =

     5     5    41

2. 分支结构

2.1if分支

clear
a=100;
b=20; 
if a<b 
   fprintf ('b>a')          % 在Word中输入’b>a’单引号不可用,要在Editor中输入
else 
   fprintf ('a>b')          % 在Word中输入’b>a’单引号不可用,要在Editor中输入
end

2.2 switch分支

 clear
n=input('输入n=');         % 输入n值
switch mod(n,5)            % mod是求余函数,余数为0,得0,余数不为0,得1
case 0
   fprintf ('%d是5的倍数',n) 
otherwise
   fprintf('%d不是5的倍数',n)
end

3.循环语句

3.1 while循环

 clear
x=0;                  % 初始化变量x
sum=0;                % 初始化sum变量
   while x<101         % 当x<101执行循环体语句
     sum=sum+x;       % 进行累加
     x=x+2; 
   end                %  while结构的终点
sum                  % 显示sum

>>
2550

3.2 for循环

语法规则如下:

for ii = 初值:增值:终值
语句一
语句二
end

clear
sum=0;                         % 设置初值(必须要有)
for ii=1:100;                      %  for循环,增量为1
    sum=sum+ii;
end
sum
%end                           % 程序结束

还有其他的continue,break语句与c语言类似,而input()的用法与python类似。
此外c语言中的”!“在matlab中用”~“

4.函数

在matlab中对于自带的函数可以直接调用,若是自写函数,如冒泡排序算法
新建脚本后,保存为BubbleSort.m,注意文件名要与函数名一致

function s=BubbleSort(x) 
% 冒泡排序,x为待排序数组 
n=length(x); 
for i=1:n-1             % 最多做n-1趟排序 
    flag=0;                 % flag为交换标志,本趟排序开始前,交换标志应为假 
    for j=1:n-i             % 每次从前向后扫描,j从1到 n-i 
        if x(j)>x(j+1)      % 如果前项大于后项则进行交换 
            t=x(j+1);
            x(j+1)=x(j); 
            x(j)=t; 
            flag=1;         % 当发生了交换,将交换标志置为真 
        end 
    end 

在调用的时候,只用新建脚本(与函数文件在同一路径下),即可直接调用

x = rand(1,10)
y = BubbleSort(x)
>>
 1 至 9 列

    0.0292    0.0855    0.2373    0.2625    0.4588    0.4886    0.5785    0.7303    0.8010

  10 列

    0.9289

相关文章

  • 2019-02-18

    6CCS3ROS作业代做、代做Matlab程序设计作业、Matlab语言作业代写、代写Robotic System...

  • 【MATLAB学习笔记】导航&资源

    第一部分-MATLAB程序设计入门 【前言】这一部分偏重的是基于MATLAB的程序设计,即编程的方法,当然也包含了...

  • matlab程序设计

    M文件概述 用MATLAB语言编写的程序,称为M文件。M文件可以根据调用方式的不同分为两类:命令文件(Script...

  • matlab程序设计

    1.符号运算 1.1创建符号对象 sym() syms()其中syms()可以创建多个对象 1.2 例子 计算积分...

  • 第六章 MATLAB 程序设计

    第六章 MATLAB 程序设计 MATLAB 有两种工作方式:一种是交互式的命令行工作方式;另一种是 M 文件的程...

  • WEEK 2 Introduction to Dynamical

    MATLAB Licenses MATLAB resources:Instruction in MATLAB is...

  • Matlab怎么用?matlab视频教程matlab图像处理视频

    Matlab怎么用?matlab视频教程matlab图像处理视频教程零基础入门matlab教程视频 MATLAB有...

  • 计算机模拟

    1.数值模拟MATLAB程序设计 1.1微分方程组模拟、 在微分方程数学模型中,往往需要用到数值模拟。一方面是因为...

  • 在ubuntu16.04下安装Matlab2017a

    从szu内部ftp下在MATLAB; 安装matlab,首先给MATLAB的install和 bin/glnxa6...

  • 手眼标定(Hand in Eye)

    使用的棋盘格:25*25,每格20mm Matlab Matlab相机标定文档Matlab官方视频:Camera ...

网友评论

      本文标题:matlab程序设计

      本文链接:https://www.haomeiwen.com/subject/rodfwqtx.html