• matlab实验代码(总)


    
    % 使用两种方法,创建一稀疏矩阵
    % 使用函数sparse,可以用一组非零元素直接创建一个稀疏矩阵。该函数调用格式为:
    % S=sparse(i,j,s,m,n)
    % 其中i和j都为矢量,分别是指矩阵中非零元素的行号与列号,
    % s是一个全部为非零元素矢量,元素在矩阵中排列的位置为(i,j)
    % m为输出的稀疏矩阵的行数,n为输出的稀疏矩阵的列数。
    %方法1
    A9=[0 0 1;0 3 0;2 4 0]
    B9=sparse(A9)
    C9=full(B9)
    %方法2
    A10=sparse([1 3 2 4],[2 3 1 4],[1 2 3 4],4,4)
    C10=full(A10)
    
    A11=[1 2 3];B11=[4 5 6];
    C11=3.^A11
    D11=A11.^B11
    
    %使用函数,实现矩阵左旋90°或右旋90°的功能。
    A=[ 1 2 3 ; 4 5 6 ; 7 8 9 ]
    B=rot90(A,1)
    C=rot90(A,-1)
    
    %求S=2^0+2^1+2^2+2^3+2^4+……+2^10的值(提示:利用求和函数与累乘积函数。)
    A=2*ones(1,10)%10个2
    B=cumprod(A)%平方
    C=sum(B)+1%加上2^0
    
    %建立一个字符串向量,删除其中的大写字母(提示:利用find函数和空矩阵。)
    str='AAAbCcd'
    
    b=find(str>='A' & str<='Z');
    
    str(b)=[];
    
    
    % 输入一个百分制成绩,要求输出成绩等级A、B、C、D、E。其中90分~100分为A,80分~89分为B,70分~79为C,60分~69分为D,60分以下为E。
    switch(score)
        case num2cell(90:0.5:100) 
        	disp(['成绩等级为:A']);
        case num2cell(80:0.5:89.5) 
        	disp(['成绩等级为:B']);
        case num2cell(70:0.5:79.5) 
        	disp(['成绩等级为:C']);
        case num2cell(60:0.5:69.5) 
        	disp(['成绩等级为:D']);
        case num2cell(0:0.5:59.5) 
        	disp(['成绩等级为:E']);
        otherwise
       	 disp(['输入成绩不合理!']);
    end
    
    %设计程序,完成两位数的加、减、乘、除四则运算,
    %即产生两个两位随机整数,再输入一个运算符号,做相应的运算,显示相应的结果,并要求结果显示类似于“a=x+y=34”。
    
    x=fix(100*rand());
    y=fix(100*rand());
    opt=input('操作:','s');
    switch(opt)
    case '+'
    	fprintf('%d=%d+%d
    ',x+y,x,y);
    case '-'
    	fprintf('%d=%d-%d
    ',x-y,x,y);
    case '*'
    	fprintf('%d=%d*%d
    ',x*y,x,y);
    case '/'
    	fprintf('%d=%d/%d
    ',x/y,x,y);
    otherwise
    	fprintf('输入错误!');
    end
    %------------分段函数
    x=[-5.0,-3.0,1.0,2.0,2.5,3.0,5.0];
    y=(x.*x+x-6).*(x<0&(x~=-3))+(x.*x-5.*x+6).*(x>=0&x<10&x~=2&x~=3)+(x.*x-x-1).*(x==-3|x==2|x==3|x>=10)
    
    %------------插值函数interp1;
    x=0:1:4*pi;
    y=sin(x).*exp(-x./5);
    xi=0:0.3:4*pi;
    y1=interp1(x,y,xi,'nearset');
    y2=interp1(x,y,xi,'linear');
    y3=interp1(x,y,xi,'spline');
    y4=interp1(x,y,xi,'cubic');
    plot(x,y,'-m',xi,y1,'-r',xi,y2,'-g',xi,y3,'-b',xi,y4,'-y');
    
    %------------插值函数interp2
    x=[13 15 17 19 20];
    y=[0 1]';
    z=[270 290 330 350 380;250 270 310 330 360];
    x2=[13:20];
    y2=y;
    z2=interp2(x,y,z,x2,y2);
    plot(x2,z2)
    
    %------------曲线拟合
    %例1
    x=[2009:2015];
    y=[70 122 144 152 174 196 202];
    k=polyfit(x,y,1);%求系数
    x2=2009:2017;
    y2=polyval(k,x2);
    plot(x,y,'-r',x2,y2,'-b');
    
    %例2
    load census.mat;
    k=polyfit(cdate,pop,2);
    x=[1790:10:2010];
    y=polyval(k,x);
    y2=polyval(k,cdate);
    plot(cdate,pop,'*',cdate,y2,'r',x,y,'b-');
    
    %------------plot二维绘图
    x=-2:0.1:2;
    y=exp(x);
    x2=0:0.1:5;
    y2=log(x2);
    plot(x,y,'-r',x2,y2,'-b');
    legend('y=e^x','y=logx');
    xlabel('x');
    ylabel('y');
    title('二维图');
    grid on;
    
    x=0:pi/100:pi/2;
    y=tan(x);
    plot(x,y,'-r+');
    xlabel('X');
    ylabel('Y');
    title('正切函数');
    legend('y=tan(x)');
    axis([0 pi/2 0 5]);
    
    t=-1*pi:pi/20:pi;
    x=t.*cos(3*t);
    y=t.*sin(t).^2;
    plot(x,y,'-r*');
    legend(strvcat('x=tcos(3t)','y=tsin^2t'));
    
    %--------曲面图和线框图
    x=meshgrid(-1.5*pi:1.5*pi);
    y=x;
    z=cos(x).*sin(y)./y;
    figure(1);
    surf(z);
    legend('曲面图');
    figure(2);
    mesh(z);
    legend('线框图');
    
    %-------特殊图形
    data=rand(3,3);
    
    subplot(2,2,1);
    bar(data);
    title('条状图');
    
    subplot(2,2,2);
    area(data);
    title('面积图');
    
    subplot(2,2,3);
    pie(data);
    title('饼图');
    
    subplot(2,2,4);
    stem(data);
    title('火柴图');
    
    
  • 相关阅读:
    Apache+Tomcat+Mysql+php整合jsp,php
    mysql数据类型详析(转)
    有向图(拓扑排序算法)
    FLEX获取GET数据
    Flex对象与组件的数据 双向绑定
    D3D学习摘记(I)中
    [转贴]深入理解Javascript闭包
    一个相当愚蠢的概念错误
    近日小记
    D3D学习摘记(I)上
  • 原文地址:https://www.cnblogs.com/aeipyuan/p/12285301.html
Copyright © 2020-2023  润新知