%plot函数 绘制在0-2pi内的正弦曲线
x=0:0.1:2*pi;
y=sin(x);
plot(x,y)


%同时绘制正弦余弦曲线
x=0:0.01:2*pi;
y1=sin(x);
y2=cos(x);
plot(x,y1,x,y2)

%在x在0-2pi内，y在-2--2内绘制图形，并显示坐标网格和图例说明
x=linspace(0,2*pi,200);			%生成含有200个数据元素的向量x
y1=sin(x);
y2=cos(x);
plot(x,y1,'go',x,y2,'b-.')
title('sin(x),cos(x)曲线');      
xlabel('时间');     
ylabel('振幅');       
text(x(150),y1(150),'sin(x)曲线');
text(x(150),y2(150),'cos(x)曲线');
axis ([0 2*pi -2 2]);				%设定坐标轴范围
grid on					%显示坐标网格
legend('sin(x)','cos(x)');			%图例说明

%subplot（m,n,p）函数命令将当前图形窗口分成mxn个绘制区每行n个共m行，p为选定的当前绘图区 
%在同一图形窗口中，同时绘制y1=sinx,y2=cosx,y3=sin(2x),y4=cos(2x),区间为0-2pi
x=linspace(0,2*pi,600);
y1=sin(x);
subplot(2,2,1);			%整个绘图区分为2*2区域，且当前绘图区位1号绘图区
plot(x,y1);
title('sin(x)')
axis([0 2*pi -1 1]);            %设定坐标轴范围
y2=cos(x);
subplot(2,2,2);			%指定当前绘图区为2号绘图区
plot(x,y2);
title('cos(x)')
axis([0 2*pi -1 1]);  		%设定坐标轴范围	     
y3=sin(2*x);
subplot(2,2,3);			%指定当前绘图区为3号绘图区
plot(x,y3);
title('sin(2x)')
axis([0 2*pi -1 1]);		%设定坐标轴范围	
y4=cos(2*x);
subplot(2,2,4);			%指定当前绘图区为4号绘图区
plot(x,y4);
title('cos(2x)')
axis([0 2*pi -1 1]);		%设定坐标轴范围


%figure多图形窗口
%用figure绘制上一例子中的y1,y2,y3,y4
x=linspace(0,2*pi,60);
y1=sin(x);
H1=figure;              %创建新窗口并返回句柄到变量H1
plot(x,y1);
title('sin(x)')
axis([0 2*pi -1 1]);
y2=cos(x);
H2=figure;              %创建第2个窗口并返回句柄到变量H2
plot(x,y2);
title('cos(x)')
axis([0 2*pi -1 1]);
y3=sin(2*x);
H3=figure;              %创建第3个窗口并返回句柄到变量H3
plot(x,y3);
title('sin(2x)')
axis([0 2*pi -1 1]);
y4=cos(2*x);
H4=figure;              %创建第4个窗口并返回句柄到变量H4
plot(x,y4);
title('cos(2x)')
axis([0 2*pi -1 1]);

%hold命令 保留原有图形
%与前一例子类似
x=linspace(0,2*pi,60);
y=sin(x);
z=cos(x);
plot(x,y,'-go');           %绘制正弦曲线
hold on;                 %设置图形保持状态
plot(x,z,'-.b');           %保持正弦曲线同时绘制余弦曲线
axis ([0 2*pi -1 1]);    % 
legend('sin(x)','cos(x)');
hold off                 %关闭图形保持

去掉第5行hold on; 再次执行对比一下

%对数坐标图形，在通信系统仿真中很多情况下都需要绘制对数坐标图形。如各种信道中的误码率随信噪比的变化典线
%loglog(x,y):双对数坐标，横纵坐标都采用x,y的对数
%semilogx(x,y):单对数坐标，横坐标采用x的对数
%semilogy(x,y):纵坐标采用y的对数
%绘制y=|500*(sin(2x)+cos(x))|+1的双对说坐标图。
x=[0:0.01:2*pi];
y=abs(500*(sin(2*x)+cos(x)))+1;
loglog(x,y);                    %双对数坐标绘图命令

%分别以x,y为对数重新绘制

x=[0:0.1:2*pi];
y=abs(500*(sin(2*x)+cos(x)))+1;
semilogx(x,y);                    %单对数X轴绘图命令
title('X轴对数');
figure
semilogy(x,y);
title('Y轴对数')

%matlab程序结构
%for -- end循环求y=sinx+sin2x+...sin100x,0<=x<=2pi;
y=0;
x=0:0.01:2*pi;
for c=1:100
    y=y+sin(c*x);
end
plot(x,y)
title('y=sinx+sin2x+...+sin100x')

%while -- end循环改行上例
y=0;
x=0:0.01:2*pi;
indx=1;
while indx<=100
    y=y+sin(indx*x);
    indx=indx+1;
end
plot(x,y)

%if结构分支语句if end // if else end // if elseif elseif else end
%求水仙花数
for indx=100:999
    a1=fix(indx/100);               %求indx的百位数字fix（x）是求x的整数部份-属内置函数
    a2=rem(fix(indx/10),10);        %求indx的十位数字rem（x，y）是求y除x的余数-属内置函数
    a3=rem(indx,10);                %求indx的个位数字
    if indx==a1.^3+a2.^3+a3.^3
         indx
    end
end

%input用户输入函数
%input格式为A=input('提示信息'，'选项')默认只能输入数字，如要输入字符可加's'
%input('you name:','s')
%求一元二次方程ax^2+bx+c=0的根
a=input('a=?');
b=input('b=?');
c=input('c=?');
d=b*b-4*a*c;
x=[(-b+sqrt(d))/(2*a),(-b-sqrt(d))/(2*a)]

