matlab代码片--台大教程

matlab切片linspace使用

for i=1:10
    x=linspace(1,10,101);
    plot(x,sin(x+i));
    %print(gcf,'-deps',strcat('plot',num2str(i),'.ps'));
end

matlab显示disp类似print

a=10;
if rem(a,2)==0 %取余数
    disp('a is even')
else
    disp('odd')
end
% print(10);

matlab输入input

%%
input = 1;
switch input
    case 1
        disp('negtive 1')
    case 2
        disp('positive 2')
end


%%
n=1;
while prod(1:n)<1e100 %连乘  10的一百次方
    n=n+1;
end

clc 和clear

%%
clc
clear a %切记 如果变量已经存在 那么要想给他赋值就必须先把这个值清理调
i =0;
for n=1:2:10   
    i=i+1;%数组的下标一定是从1开始的
    a(i)=2^n;
   
end
disp(a)
length(a)

%%
%tic toc 计算matlab时间
tic
A=zeros(2000,2000);
disp(size(A,1)); %size(A) 200 200几行几列    size(A,1)行数      size(A,2)列数
disp(size(A,2));

for ii=1:size(A,1)
    for jj=1:size(A,2)
        A(ii,jj)=ii+jj;
    end
end
toc

代码片

%%
clc
clear a %切记 如果变量已经存在 那么要想给他赋值就必须先把这个值清理调
i =0;
for n=1:2:10   
    i=i+1;%数组的下标一定是从1开始的
    a(i)=2^n;
   
end
disp(a)
length(a)

%%
%%
clear A
A=[0 -1 4;9 -14 25;-34 49 64];
for ii=1:size(A,1)
    for jj =1:size(A,2)
        if A(ii,jj)<0
            A(ii,jj)=0;
        end
    end
end

%%
%...类似c语言的//
clear A
A=[1 2 3 4 5 ;...
    2 3 4 5 6]

%%
%nargin 知道有几个输入值

s1 = 'I LIKE THE LETTER E';
for i=1:length(s1)
    s2(i)=s1(length(s1)+1-i);
end
disp(s2)

%%
%结构体
student(1).name = 'zhx';
student(1).pwd = '123456';


student(2).name='fxx';
student(2).pwd='123456';
student(2).grasde=[95 100 90;95 85 97]

student(2).grasde(6)

%fieldnames 获取结构体的属性    rmfield(student(2),'name')


%% 访问cell () {}的效果不同  F(1,2)  F{1,2}(2) F{1,2}(2,1) cellarry就是cell的进阶班
F(1,1) = {'lokhunj'};
F(1,2)={[1 2 3; 4 5 6]};
F(2,1)={3+7i};
F(2,2)={-pi:pi:pi};
F{2,2}=[1 2 3];
F


%%
%c= mat2cell(a,[1 1 1],3) [111]row 3 column 搞成三行
clear a;
a = magic(3);
b= num2cell(a);
c= mat2cell(a,[1 1 1],3)

%%
%拼接array 一维 二维 三维
% A = [1 2;3 4];
% B = [5 6;7 8];
% C =cat(1,A,B);  %竖着拼
% D =cat(2,A,B); %横着拼
% E = cat(3,A,B); %三维度
clear A
clear B
A{1,1}=[1 2;3 4];
A{1,2} = 'Name';
A{2,1}= 2 -4i;
A{2,2}=7;
B{1,1}= 3;
B{1,2}=4;
B{2,1}=[1 1 1];
B{2,2}=0:1:3;
C = cat(3,A,B)
clear A
clear C
A = {'james';[1 2 ;3 4;5 6];pi;magic(5)}
C = reshape(A,1,4);

%% 
%fileaccess 读写文件 load save 
clear a;
a=magic(4);
save mydata.mat %matlab会自动将数据压缩
save mydata.mat -ascii %数据可以打开


%excel读写
score = xlsread('04.xlsx')

%%
%开启文件
fid=fopen('filename','w+'); %与c语言类似
stutas = fclose(fid);
%feof 文件的结尾

函数的使用

function x=freebody(x0,v0,t)
x=x0+v0.*t+1/2*9.8*t.*t;%点成 是数据的相乘
function [a,F]= acc(v2,v1,t2,t1,m)
a = (v2-v1)./(t2-t1);
F = m.*a;
function F2C()
    while true
        x=input('Temperature in C:');
        if isempty(x)
             break
        %elseif strcmp(x,'/r')==0
            %disp('退出');
           
        else
            y=x*2;
            disp(['y的值',num2str(y)]);
            
        end
    end
function [volumn]=pillar(do,di,height)
if nargin ==2  %判断输入参数
    height = 1;
end
volumn = abs(do.^2-di.^2).*height*pi/4;
disp(['输出参数1:',num2str(nargout)])
%disp(['输出参数2:',num2str(varargout)])
上一篇:2021数模学习系列笔记-第一讲-2 Matlab使用基础


下一篇:MATLAB-向量相关计算