学习笔记-Matlab语法学习

输入输出

使用input获取键盘输入:

str=input('请输入您的内容')

使用disp打印内容到屏幕:

disp(['这是您的内容',num2str(s)])

>> s=input('请输入您的内容')
请输入您的内容22

s =

    22

>> s=input('请输入您的内容:')
请输入您的内容:22

s =

    22

>> disp(['这是您的内容',num2str(s)])
这是您的内容22

使用fprintf命令带引格式化内容:和c语言类似

fprintf('您的成绩是:%.2f',score)  %表示保留两位小数打印

fprintf('您的成绩是:%.2e',score)  %表示保留两位小数按科学计数法打印

变量的保存和加载:

>> Data=randn(10)
>> save('data.mat','Data')

>> load data.mat  或者>> load('data.mat')

fopen函数操作文件对象

r:读模式;w:写模式;a:追加模式;r+:读写模式;w+:创建模式读写;a+:追加模式

>> fp=fopen('test.txt','a+');
>> fprintf(fp,'this is a test string.');
>> fclose(fp);

这样就创建了一个test文件,并在文件内写入了this is a test string.

逻辑运算

关系运算符:<、>、>=、<=、==、~=,真为1,假为0

逻辑运算符:与或非,&、|、~,and、or、not

内置逻辑运算函数

any(A):向量中任意元素非零返回True,矩阵以列为基准进行判断

xor:异或

all:所有元素非零时才为真

find(A>b):找出矩阵正满足条件元素的位置

>> N=[1 2 3 0;0 0 0 0;-1 -2 -3 0]

N =

     1     2     3     0
     0     0     0     0
    -1    -2    -3     0

>> find(N>0)

ans =

     1
     4
     7

条件结构

function z=f(x,y)
    if x>0 && y>0
        z=x+y;
    elseif x>0 && y<=0
        z=x+y.^2;
    elseif x<=0 && y>0
        z=x.^2+y;
    else
        z=x.^2+y.^2;
    end
end

for循环结构

e^x的泰勒展开

function y=new_exp(x)
    n=100;
    y=1;
    for i=1:n
       y=y+x^i/factorial(i); 
    end
end

%%factorial(i); 表示i的阶乘

while循环结构

e^x的泰勒展开

function [n,y]=new2_exp(x)
    diff=0.001;
    y=1;
    n=0;
    while abs(exp(x)-y)>diff
        n=n+1;
        y=y+x^n/factorial(n);
    end
end

 

猜你喜欢

转载自blog.csdn.net/seek97/article/details/108284069