0
点赞
收藏
分享

微信扫一扫

【优雅的使用Matlab进行机器学习】作业

若如初梘 2022-04-07 阅读 41

这个名字显然不是我取的,是货真价实的信科院课程。
【优雅】、【matlab】和【机器学习】,buff叠满了属于是。
当然,至少到目前(4.7),还停留在matlab的阶段,机器学习下周开始。

matlab基础

数据类型

整型:无符号整型和有符号整型
浮点型:single,double
取整函数:round,fix,floor,ceil
类型相同的数据才能运算

运算符、表达式

/(除或右除)
\(反除或左除)
^乘幂
'共轭转置

.* 矩阵乘或点乘
./ 矩阵除或点除
.\ 矩阵左乘或左除
.^ 矩阵乘幂或点乘幂
.' 转置 (矩阵行转换为列 ,复元素不做共轭)

~= 不等于

指数函数

取整函数和求余函数:

矩阵变换函数:

其他函数:

输入输出

分支结构

if 语句

if condition
   Execute the statement
end

switch语句

switch 表达式
   case 表达式1
       语句1
   case 表达式2
       语句2
   ... ...
   case 表达式n
       语句n
   otherwise
       语句n+1
end

for 循环

#Example
s=0;
for i=1:2:12
    s=s+i;
end

while 循环

Example:
s=0;
i=1;
while i <=12
   s=s+i;
   i=i+2;
end

匿名函数

Example:
fhandle=@(x,y)(x.^3+y.^3);
a=5;
b=8;
fhandle(a,b)

二维绘图

plot(x1,y1,'LineSpec1',x2,y2,'LineSpec2',...,xn,yn,'LineSpecn')

在这里插入图片描述
添加坐标标注、标题、网格以及标注的图形。

标注数据点

scatter(x,y,sz,c,mkr,'filled')

曲线

plot3(X1,Y1,Z1,'LineSpace',...)

条形图

y=random(10,1);
y=randn(10,6);

饼图

pie(x,explode,'label');
pie3(x,explode,'label');

子图

其他绘图

隐函数作图

课程作业

第一次作业:matlab脚本文件

输入长方形的长和宽,计算长方形的周长和面积并输出

l = input('输入长:');

 w = input('输入宽:');
zc=2*l+2*w
s = l * w;
fprintf('%d',zc);
fprintf('%d',s);


输入三角形的三条边(要满足构成三角形的条件),求三角形的周长和面积

a = input('输入第一条边:');

b = input('输入第二条边:');

c = input('输入第三条边:');

if (a+b>c && a+c>b && b+c>a)

    zc= a+b+c;

    p = zc*0.5;

    s = sqrt(p*(p-a)*(p-b)*(p-c));



else

    fprintf('输入不正确');

end

fprintf('周长=%d  ',zc);

fprintf('  面积=%d',s);

输入一元二次方程的三个系数,求一元二次方程的根。

我的答案:

a = input('输入第一个系数:');

b = input('输入第二个系数:');

c = input('输入第三个系数:');

d=b*b-4*a*c;



if (d>=0)

    x=((-1*b)+sqrt(d))/(2*a);

    y=((-1*b)-sqrt(d))/(2*a);

   fprintf('x1=%d  ',x); 

   fprintf('x2=%d  ',y);

else

    fprintf('无实根');

end

给定半径,求球的体积和表面积。

r = input('输入半径:');



v=(4/3)*pi*r^3;

s= 4*pi*r^2;



fprintf('球的体积为:%d\n',v);



fprintf('球的面积为:%d',s);

输入三个数,将其按照从小到大的顺序排列。

a = input('输入第一个数:');

b = input('输入第二个数:');

c = input('输入第三个数:');

array = [a,b,c];



b=sort(array);



    fprintf('%d',b);

第二次作业:分支语句

输入一个字符,如果是大写字母,输出其后继字符及其ASCII值,如果不是大写字母,原样输出。例如,输入字符B,输出“字母B的后继字符为C,对应的ASCII码值为67”,注意字母Z的后继字符为A。

ch=input('请输入一个字符:','s');

if ch>='A' && ch<'Z'

    fprintf('字母%c的后继字符为%c,对应的ASCII码值为%d',ch,ch+1,ch+1);

elseif ch =='Z'

    fprintf('字母%c的后继字符为%c,对应的ASCII码值为%d',ch,ch-25,ch-25);

else

           

        fprintf(ch);

end

输入一个小于10000的整数,求出是几位数并且逆序输出。例如,输入123,输出“该数为3位整数,其逆序数为321”

r = input('输入一个整数:');

n=floor(log10(r))+1

a=floor(r/1000);

b=floor((r-1000*a)/100);

c=floor((r-1000*a-100*b)/10);

d=floor((r-1000*a-100*b-10*c)/1);

if n==4



    fprintf('该数为%d位整数,其逆序数为%d%d%d%d\n',n,d,c,b,a);

elseif n==3



      fprintf('该数为%d位整数,其逆序数为%d%d%d\n',n,d,c,b);

elseif n==2

 fprintf('该数为%d位整数,其逆序数为%d%d\n',n,d,c);

elseif n==1

   fprintf('该数为%d位整数,其逆序数为%d\n',n,d);

else

    fprintf('输入格式错误');

end

在编辑窗口中:输入学生成绩,输出该成绩的等级。等级规定如下:[90,100]为A等,[80,90)为B等,[70,80)为C等,[60,70)为D等,[0,60)为E等

g = input('输入学生成绩:');



if (90<=g)&&(g<=100)



    fprintf('成绩等级为A等');

elseif  (80<=g)&&(g<90)



    fprintf('成绩等级为B等');

elseif  (70<=g)&&(g<80)



    fprintf('成绩等级为C等');

elseif (60<=g)&&(g<70)



    fprintf('成绩等级为D等');

elseif (0<=g)&&(g<60)



    fprintf('成绩等级为E等');

else

    fprintf('输入格式错误');

end

商场购物,100件以下,不优惠,100199件95折,200399件90折,400799件85折,8001499件80折,1500件以上,75折。输入所购货物的单价、件数,求实际付款数目。

p = input('输入货物单价:');

n = input('输入货物件数:');







if n<100

    fprintf('实际付款为%d',n*p);

elseif  (100<=n)&&(n<199)

    fprintf('实际付款为%d',n*p*0.95);

elseif  (200<=n)&&(n<399)



    fprintf('实际付款为%d',n*p*0.9);



elseif (400<=n)&&(n<799)



    fprintf('实际付款为%d',n*p*0.85);



elseif (800<=n)&&(n<1499)



    fprintf('实际付款为%d',n*p*0.8);

else

    fprintf('实际付款为%d',n*p*0.75);



end

第三次作业:switch和循环

第四次作业:数据可视化

举报

相关推荐

0 条评论