matlab日常(2)

目录

1.求其@(x)(x(1)-x(2)+1)^2的极值

 

2、计算积分

(1)一重积分

(2)二重积分

 3、编制一个脚本,查找给定字符串中指定字符出现的次数和位置。

4、编写一个脚本,判断输入字符串中每个单词的首字母是否为大写,若不是则将其修改为大写,其他字母为小写。

5、创建 2×2 单元数组,第 1、2 个元素为字符串,第三个元素为整型变量,第四个元素为双精度(double)类型,并将其用图形表示。

6、创建一个结构体,用于统计学生的情况,包括学生的姓名、学号、各科成绩等。然后使用该结构体对一个班级的学生成绩进行管理,如计算总分、平均分、排列名次等。


 

1.求其@(x)(x(1)-x(2)+1)^2的极值

>> z = @(x)(x(1)-x(2)+1)^2;
>> [x,fvalue,flag,output]=fminsearch(z,[0,0])

######


x =

   -0.5425    0.4575


fvalue =

   2.4109e-11


flag =

     1


output = 

  包含以下字段的 struct:

    iterations: 40
     funcCount: 74
     algorithm: 'Nelder-Mead simplex direct search'
       message: '优化已终止:↵ 当前的 x 满足使用 1.000000e-04 的 OPTIONS.TolX 的终止条件,↵F(X) 满足使用 1.000000e-04 的 OPTIONS.TolFun 的收敛条件↵'

 fminsearch函数用来求解多维无约束的线性优化问题

[x,fvalue,flag,output] = fminsearch(...) 返回一个结构输出output,包含最优化函数的信息:output.algorithm 使用的优化算法

 

output.funcCount 函式计算次数
output.iterations 迭代次数
output.message 退出信息

 


2、计算积分

(1)一重积分

syms的意思就是设置x为一个变量的意思

(2)二重积分

 3、编制一个脚本,查找给定字符串中指定字符出现的次数和位置。

findstr函数

格式:K=findstr(s1,s2)     %s1s2可调换成被查找对象

 

s='How much wood would a woodchuck chuck?';
findstr(s,'a')
findstr(s,'u')

运行结果:

4、编写一个脚本,判断输入字符串中每个单词的首字母是否为大写,若不是则将其修改为大写,其他字母为小写。

str='How much wood would a woodchuck chuck?';
s_length=length(str)
for k=1:s_length
    if(k==1||isspace(str(k-1)))&&(str(k)<='z'&& str(k)>='a')
        str(k)=char(double(str(k))-32);
    end
end
disp(str)%


结果:
>> mycode_02

s_length =

    38

How Much Wood Would A Woodchuck Chuck?
>> 

 

 

5、创建 2×2 单元数组,第 1、2 个元素为字符串,第三个元素为整型变量,第四个元素为双精度(double)类型,并将其用图形表示。

>> A

A =

  2×2 cell 数组

    {'ahgsdh'  }    {0×0 double}
    {0×0 double}    {0×0 double}

>> A(1,2)={'hjahd'};
>> A(2,1)={int8(45)};
>> A(2,2)={78};
>> cellplot(A)
>> 

运行结果:

 

6、创建一个结构体,用于统计学生的情况,包括学生的姓名、学号、各科成绩等。然后使用该结构体对一个班级的学生成绩进行管理,如计算总分、平均分、排列名次等。

 

student(1).no=001;
student(1).name='bob';
student(1).score=[45;79;79;98];
student(2).no=002;
student(2).name='bo';
student(2).score=[45;79;79;98];
%计算成绩总和
sum1=sum(student(1).score)
sum2=sum(student(2).score)
%计算平均分
mean1=mean(student(1).score)
mean2=mean(student(2).score)


运行结果:
>> mycode_02

sum1 =

   301


sum2 =

   301


mean1 =

   75.2500


mean2 =

   75.2500

 

  • 4
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值