MATLAB实验四

news2024/12/25 13:59:21

1.求方程 2 x 5 − 3 x 3 + 71 x 2 − 9 x + 13 = 0 2x^5-3x^3+71x^2-9x+13=0 2x53x3+71x29x+13=0 的全部根

>> p=[2 0 -3 71 -9 13];
>> pkg load symbolic
>> poly2sym(p)
Symbolic pkg v3.0.0: Python communication link active, SymPy v1.10.1.
ans = (sym)

     5      3       2
  2*x  - 3*x  + 71*x  - 9*x + 13

>> roots(p)
ans =

  -3.4914 +      0i
   1.6863 + 2.6947i
   1.6863 - 2.6947i
   0.0594 + 0.4251i
   0.0594 - 0.4251i

2.有一分数序列∶2/1,3/2,5/3,8/5,13/8,21/13…采用循环迭代求出这个数列的前n项之和。要求编写M函数∶function y=myFun(varargin)。函数要求能够自动判断输入输出参数的个数,并能够进行参数的判断∶

1)如果用户没有输入参数,默认n=20

2)若用户输入的参数大于1个,则取第一个参数信息,提示用户舍弃后面的参数。

3)如果用户没有输出参数,则在函数中用printf命令直接打印结果。

4)如果用户有一个输出参数,则将结果返回给输出参数,不用printf打印结果。

%方法一
function y=myFun(a,b)
   sum=t=0 ;
   fz=2;
   fm=1;
   i=1;
  if nargin==0
    n = 20;
  elseif nargin>=1
    n=a;
  end
  while i<=n
      sum=sum+fz/fm;
      t=fz;
      fz=fm+fz;
      fm=t;
      i++;
   end
  if nargout==0
    printf('%d',sum)
   elseif nargout==1
    y=sum
   end

image-20220922092909522

%方法二
function varargout=myfun(varargin)
  a=[2 3];
  b=[1 2];
  s=0;
  if nargin==0
    n=20;
  else
    n=varargin{1};
  end
  for i=1:n
    if(i>=3)
      a(i)=a(i-1)+a(i-2);
      b(i)=b(i-1)+b(i-2);
     end
     s=s+a(i)/b(i);
  end
  if nargout==0
    fprintf("s=%f\n",s);
  else
    varargout{1}=s;
  end
end

3、写一个函数,实现分段表达式:
f ( x ) = { 0.5 x x ≤ 2 1.5 − 0.25 x 2 < x < 6 0.5 x ≥ 6 f(x)=\begin{cases} 0.5x & x \le 2\\ 1.5-0.25x & 2<x<6 \\ 0.5 & x \ge 6 \end{cases} f(x)= 0.5x1.50.25x0.5x22<x<6x6
调用此函数并求解x=0、5、10时的函数值。

function y=f(x)
  if x<=2
    y=0.5*x;
  elseif x>2 & x<6
    y=1.5-0.25*x;
  elseif x>=6
    y=0.5;
  end

>> f(0)
ans = 0
>> f(5)
ans = 0.2500
>> f(10)
ans = 0.5000

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

function [c,p]=fs(str,s)
  p=find(str==s)
  c=length(p)
end

>> s='How much wood would a woodchuck chuck?';
>> fs(s,'h')
p =

    8   28   34

c = 3
ans = 3

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

%方法一
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)%
>> daxiaoxie
                                                                                   
str = How much wood would a woodchuck chuck?
s_length = 38
How Much Wood Would A Woodchuck Chuck?
%方法二
a='How much wood would a woodchuck chuck?'
a1=lower(a);
i=isspace(a);
inx=[1,find(i)+1];
a1(inx)=upper(a1(inx));
%a1(inx)=(a(inx)-32);

方法二先将所有的字母转化为小写字母,然后找到空格的位置,然后再找到首字母的位置,再讲首字母大写。

6.创建2×2的单元数组,第1和第2个元素为字符串,第3个元素为整型变量,第4 个元素为双精度(double)类型。

% 直接创建法
>> A(1,1)={'abc'};
>> A(1,2)={'def'};
>> A(2,1)={int8(1)};
>> A(2,2)={double(5)};
>> A
A =
{
  [1,1] = abc
  [2,1] = 1
  [1,2] = def
  [2,2] = 5
}

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

student=struct('name',{'zhangsan','lisi','wangwu','Tom','Mike','John','guoyuan','liuneng','yutian','Alan'},
'no',{'001','002','003','004','005','006','007','008','009','010'},
'score',{[60 50 70],[70 80 90],[80 70 70],[66 75 80],[77 88 90],[80 90 60],[60 85 73],[68 87 76],[85 69 62],[60 55 78]});
%计算成绩总和、平均分
for i=1:10
  s(i)=sum(student(i).score);
  m(i)=mean(student(i).score);
end
s
m
%根据平均值进行排序,输出排序后的学号
[snew,index]=sort(m);
for i=index
  student(i).no
end

>> student_struct

s =

   180   240   220   221   255   230   218   231   216   193

m =

   60.000   80.000   73.333   73.667   85.000   76.667   72.667   77.000   72.000   64.333

ans = 001
ans = 010
ans = 009
ans = 007
ans = 003
ans = 004
ans = 006
ans = 008
ans = 002
ans = 005

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/161047.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

FPGA图像处理HLS实现sobel边沿检测,提供HLS工程和vivado工程源码

目录一、sobel边沿检测原理二、HLS方案实现sobel边沿检测三、HLS在线仿真并导出IP四、Kintex7开发板vivado工程验证五、zynq7100开发板vivado工程验证六、板级调试验证七、福利&#xff1a;工程源码获取一、sobel边沿检测原理 所谓边缘是指其周围像素灰度急剧变化的那些象素的…

CS架构 企业ERP系统源码 Winform财务设备生产采购进销存源码

淘源码&#xff1a;国内知名的源码免费下载平台 推荐环境&#xff1a;vs2019 sql server 2008 r2以上 源码简介 本系统属于中小型企业ERP管理系统&#xff0c;可以对中小型生产企业或商业企业进行有效管理。 系统包含进销存、财务、生产、委外、财务、设备管理、权限管理等模…

【可解释性机器学习】基于ELI5使用解读LIME算法以及实战案例

LIME算法解读与实战案例LIME论文简介LIME算法原理LIME算法要点LIME的注意事项LIME的代码实现对Pytorch搭建的模型进行解释使用LIME解释Pytorch构建的模型参考资料LIME论文简介 LIME的全称为Local Interpretable Model-agnostic Explanations. 尽管被广泛采用&#xff0c;机器…

模板进阶篇

一、非类型模板参数 模板参数分类类型形参与非类型形参。 类型形参&#xff1a;出现在模板参数列表中&#xff0c;跟在class或者typename之类的参数类型名称。如图&#xff1a; 非类型形参&#xff1a;就是用一个常量作为类(函数)模板的一个参数&#xff0c;在类(函数)模板中可…

Mybatis 原理之启动阶段

文章目录1.MyBatis 核心流程2.启动准备阶段流程3.创建 SQlSessionFactory4.创建XMLConfigBuilder5.创建 XPathParser6.解析并设置 configuration 中的属性7.解析Mappers标签1.MyBatis 核心流程 Mybatis的核心流程氛围两个阶段&#xff0c;启动准备阶段和执行SQL阶段。 加载配…

Day858.高性能网络应用框架Netty -Java 并发编程实战

高性能网络应用框架Netty Hi&#xff0c;我是阿昌&#xff0c;今天学习记录的是关于高性能网络应用框架Netty的内容。 Netty 是一个高性能网络应用框架&#xff0c;应用非常普遍&#xff0c;目前在 Java 领域里&#xff0c;Netty 基本上成为网络程序的标配了。 Netty 框架功…

win10录屏软件哪款比较好用?一款不限时长的录屏软件

现在大部分人的电脑都是win10系统的电脑&#xff0c;也有许多小伙伴会经常会问&#xff1a;“win10电脑怎么录屏&#xff1f;”录制电脑屏幕&#xff0c;需要使用到录屏软件&#xff0c;那win10录屏软件哪款比较好用&#xff1f;小编今天给大家分享一款试用版即可不限录制时长的…

【区间合并】洛谷 P1496 火烧赤壁

P1496 火烧赤壁 文章目录题目背景题目描述输入格式&#xff1a;输出格式&#xff1a;数据范围输入样例输出样例方法&#xff1a;区间合并解题思路代码复杂度分析&#xff1a;题目背景 曹操平定北方以后&#xff0c;公元 208 年&#xff0c;率领大军南下&#xff0c;进攻刘表。…

部分时变离散系统中的稳定性判据

部分时变离散系统中的稳定性判据 1.Lyapunov稳定性理论 下面先给出Lyapunov稳定性的一些基本理论&#xff08;网上资源较多这里不再过多赘述&#xff09;&#xff1a; 2.一类时变离散系统的稳定性 定理 ​ 对于离散时变系统x(k1)A(k)x(k)x(k1)A(k)x(k)x(k1)A(k)x(k)&#x…

Java EE|多线程代码实例之单例模式与阻塞队列

文章目录前言设计模式介绍&#x1f534;单例模式什么是单例模式单例模式实现方式饿汉模式懒汉模式基于上述单例模式实现线程安全问题讨论重点回顾&#x1f534;阻塞队列阻塞队列是什么标准库中的阻塞队列典型应用场景&#xff1a;生产者消费者模型利用系统提供的BlockingQueue实…

osg fbo(三),将颜色缓冲区图片通过shader变绿

这个其实很简单&#xff0c; 一&#xff0c;写顶点着色器和片元着色器 static const char * vertexShader { “void main(void)\n” “{\n” " gl_Position ftransform();\n" “}\n” }; static const char *psShader { “uniform float alpha;” “void main(vo…

12、ThingsBoard-如何配置发送邮件

1、概述 ThingsBoard提供了系统层设置邮件配置和租户层通过设置邮件规则节点,对规则引擎产生的告警进行分发这两种邮件配置,其中系统层设置邮件配置主要是针对用于向用户分发激活和密码重置电子邮件;租户层通过设置邮件规则节点是针对告警通知的;一定要区别开这两个邮件配…

SpringBoot整合SpringSecurity实现进行认证和授权。

目录 2.在子工程通过easyCode创建项目相关包和文件 3.子项目新建Controllter层&#xff0c;并建立BlogLoginController.java 4.在servic 层定义login 方法&#xff0c;并new UsernamePasswordAuthenticationToken对象&#xff0c;传入对应用户名&#xff0c;密码 5.自定义实…

Java集合(进阶)

Java集合Collection集合体系结构CollectionCollection系列集合三种遍历方式List泛型泛型类泛型方法泛型接口泛型的继承和通配符SetHashSetTreeSet总结&#xff1a;Map&#xff08;双列集合&#xff09;HashMapLinkedHashMapTreeMap可变参数集合工具类Collections集合嵌套案例不…

打破应用孤岛,iPaaS连接全域新协作

“据全球知名的咨询平台Garner分析&#xff0c;集成平台将在企业数字化转型过程中扮演重要的角色&#xff0c;企业内外应用的打通成为推动企业快速实现数字化转型的重要因素之一。SaaS 的井喷式发展也带来了新的机遇与挑战&#xff0c;企业亟需新的集成方法和手段帮助解决自身问…

吴恩达【神经网络和深度学习】Week4——深层神经网络

文章目录Deep Neural Network1、Deep L-layer Neural Network2、Forward Propagation in a Deep Network3、Getting your matrix dimensions right4、Why deep representations?5、 Building blocks of deep neural networks6、 Forward and Backward Propagation7、Parameter…

【Ctfer训练计划】——(十一)

作者名&#xff1a;Demo不是emo主页面链接&#xff1a; 主页传送门创作初心&#xff1a; 舞台再大&#xff0c;你不上台&#xff0c;永远是观众&#xff0c;没人会关心你努不努力&#xff0c;摔的痛不痛&#xff0c;他们只会看你最后站在什么位置&#xff0c;然后羡慕或鄙夷座右…

最新版wifi营销分销流量主前后端+小程序源码+搭建教程

前端后端数据库搭建教程&#xff0c;无任何密码&#xff0c;亲测能用&#xff0c;避免踩坑&#xff0c;v&#xff1a;JZ716888 教程如下&#xff1a; 安装源码到根目录 1、网站运行目录public 2、PHP7.2&#xff0c;开通SSL 3、导入数据库文件 4、修改数据库文件里applic…

【十一】Netty UDP协议栈开发

Netty UDP协议栈开发介绍协议简介伪首部UDP协议的特点开发jar依赖UDP 服务端启动类服务端业务处理类客户端启动类客户端业务处理类代码说明测试服务端打印截图&#xff1a;客户端打印截图:测试结果总结介绍 UDP 是用户数据报协议(User Datagram Protocol) 的简称&#xff0c;其…

【Azure 架构师学习笔记】-Azure Logic Apps(4)-演示2

本文属于【Azure 架构师学习笔记】系列。 本文属于【Azure Logic Apps】系列。 接上文[【Azure 架构师学习笔记】-Azure Logic Apps&#xff08;3&#xff09;-演示1] (https://blog.csdn.net/DBA_Huangzj/article/details/128542539) 前言 上文做了简单的演示&#xff0c;这一…