问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

matlab编程的问题

发布网友 发布时间:2022-05-17 07:40

我来回答

2个回答

热心网友 时间:2023-08-20 06:25

不清楚你哪里不懂。就是最简单的数值积分吧,估计你是程序不会写吧。

我给你写了第一个代码,后面的两个你应该就会了,积分公式就上面那三个公式。

% 此程序有以下假定:
% 1. 用户输入正确,比如x0 x1必须输入数值 
% 2. 用户输入的函数名是有效的,并且其参数可以为向量

clear;
funcName = input('Please input integrand : ', 's'); % 请用户输入被积函数名
x0 = input('Please input x0 : ');
x1 = input('Please input x1 : ');
func = str2func(funcName);  % 将函数名称(字符串)转化成函数
if x0 > x1 % 保证x0是下限,x1是上限
    temp = x0;
    x0 = x1;
    x1 = temp;
end
% 下面开始绘图,假设曲线一共取200个点
num = 200;
x = linspace(x0, x1, num);
y = func(x);
plot(x, y);
grid on;

运行结果:

热心网友 时间:2023-08-20 06:25

clear; clc; close all;
%%%%%% Task 1 %%%%%%%%
syms x;
myfun=matlabFunction(eval(input('Input function: ')));
x0=input('Input x0: ');
x1=input('Input x1: ');
clear x;
n=20;
x=x0:(x1-x0)/n:x1;
y=myfun(x);
figure; plot(x,y);
xlabel('x'); ylabel('y');
title('y(x) vs x');
%%%%%% Task 2 %%%%%%%%
n=input('Input n: ');
h=(x1-x0)/n;
intresult_R=myfun(x0);
intresult_T=myfun(x0);
intresult_S=myfun(x0);
for k=1:n-1
    intresult_R=intresult_R+myfun(x0+k*h);
    intresult_T=intresult_T+2*myfun(x0+k*h);
    intresult_S=intresult_S+(2+2*mod(k,2))*myfun(x0+k*h);
end
intresult_R=intresult_R+myfun(x1);
intresult_T=intresult_T+myfun(x1);
intresult_S=intresult_S+myfun(x1);
intresult_R=intresult_R*h;
intresult_T=intresult_T*h/2;
intresult_S=intresult_S*h/3;
fprintf('When n=%d,\n',n);
fprintf('the result using Rectangle rule is %0.6f;\n',intresult_R);
fprintf('the result using Trapezium rule is %0.6f;\n',intresult_T);
fprintf('the result using Simpson''s rule is %0.6f;\n',intresult_S);
%%%%%% Task 3 %%%%%%%%
n=100000;
h=(x1-x0)/n;
intresult=myfun(x0);
for k=1:n-1
    intresult=intresult+(2+2*mod(k,2))*myfun(x0+k*h);
end
intresult=intresult+myfun(x1);
intresult=intresult*h/3;
int_C=eval(vpa(intresult,6));
int_R=eval(vpa(intresult_R,6));
int_T=eval(vpa(intresult_T,6));
int_S=eval(vpa(intresult_S,6));
R_error=(abs(int_R-int_C))/int_C;
T_error=(abs(int_T-int_C))/int_C;
S_error=(abs(int_S-int_C))/int_C;
fprintf('The percentage error of Rectangle method is %f;\n',R_error);
fprintf('The percentage error of Trapezium method is %f;\n',T_error);
fprintf('The percentage error of Simpson''s method is %f;\n',S_error);

运行结果:

Input function: sin(x.^2)+1

Input x0: 0

Input x1: 2

Input n: 20

When n=20,

the result using Rectangle rule is 2.864749;

the result using Trapezium rule is 2.802589;

the result using Simpson's rule is 2.804811;

The percentage error of Rectangle method is 0.021381;

The percentage error of Trapezium method is 0.000781;

The percentage error of Simpson's method is 0.000011;


注: 

第一题y(x)得设复杂点,要不3种积分结果都正确,第3题没法玩了。

第二题那个要求画图说明方法的我不太明白题意,用手画行不行啊

第三题用于做比较的正确结果我是用n=100000来算的,应该够大了,然后那个错误率我就按它说的6位有效数字的结果来做的。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
...突然晕倒在地上,当时呼吸困难,一会嘴唇就变黑了,10 突然感觉晕,接着晕倒发黑,无意识,脸色发青,额头倒冷汗,口唇变紫,呼 ... 孟母三迁的故事说明了对人的发展有重要的因素是? “孟母三迁”的故事主要反映了影响人发展的因素是()。 星座故事 | 银河之心,众神之师,人马座(射手座) 请问众泰T600低配的车怎么样? 把QQ群解散了之后 还能不能创建QQ群 QQ群解散了还能建吗大神们帮帮忙 林冲真实原型是谁 大头贴在红米上咋设置? 你知道吗?A-level数学 A2具体学什么? 别人用我的真实姓名还有我公司名称及公司地址注册QQ,该怎么办? qq资料姓名怎么写才搞笑 台湾骏雄集团速运有限公司 是个骗子团伙 qq主面板公司 那一栏填什么 搞笑 个人qq资料里边有一个公司,想把公司名换一下,怎么改 扣扣资料搞笑公司名称 小巴西龟怎么冬眠,要简单安全的 巴西龟怎样过冬 巴西龟怎么冬眠?几月冬眠? 怎样让巴西龟安全过冬?冬眠时应注意什么? 怎样让巴西龟冬眠? 电脑怎么装双系统win7和linux 电脑怎么装linux和windows双系统 如何给电脑安装双系统linux 造纸需要哪些材料? 造纸需要些什么材料跟工具? 如何购理财通的理财基金 moderate是什么意思 一个moder加上一个交换机怎么使用可以分网 有哪位高人能翻译这两本书的目录? 加,减 ,乘 ,除 ,平方米用英语怎么说? 有关函数图像的变换的题目,多多益善,谢谢 【求助】一篇写艺术家的英语短文。素材已找好。 立方米 ,等于 ,平行 ,平移 ,内角和用英语怎么说? 如何下载甘肃省基础教育课程教材官方网 甘肃省金昌市永昌县安全教育平台 QQ游戏怎么进 婚纱照后期精修用什么软件 qq游戏怎么搞 2021年湖南普通本科批征集志愿可以填报多少个志愿? 2021年湖南省征集志愿可填几所学校? 班级茶话会煽情演讲 QQ游戏怎么上 征集志愿2021年湖南省本科录取控制线下20分是什么意思 在手机上怎么把自己平时的照片ps成婚纱照 湖南省征集志愿学校名单2021 梅州行者户外拓展策划有限公司怎么样? QQ游戏怎么开 湖南省2021高考,专科和高职专科志愿都填不了可以填征集志愿吗总分188分_百度问一问