报告名称:MATLAB试验二 符号计算
姓名: 学号: 专业: 班级:
MATLAB实验二 MATLAB符号计算
试验报告说明:
1 做试验前请先预习,并独立完成试验和试验报告。
2 报告解答方式:将MATLAB执行命令和最后运行结果从命令窗口拷贝到每题的题目下面,请将报告解答部分的底纹设置为灰色,以便于批阅。 3 在页眉上写清报告名称,学生姓名,学号,专业以及班级。 3 报告以Word文档书写。
文档命名方式: 学号+姓名+_(下划线)+试验几.doc 如:110400220张三_试验1.doc 4 试验报告doc文档以附件形式发送到maya_email@tom.com。凡文档命名不符合规范,或者发送方式不正确,不予登记。
一 目的和要求
1熟练掌握MATLAB符号表达式的创建 2熟练掌握符号表达式的代数运算 3掌握符号表达式的化简和替换 4熟练掌握符号微积分 5熟练掌握符号方程的求解
二 试验内容
1 多项式运算(必做)
1.1解方程:f(x)= x^4-10*x^3+34*x^2-50*x+25=0
%采用数值方法: >> f=[1 -10 34 -50 25]; >> roots(f)
%采用符号计算方法:
f1=sym('x^4-10*x^3+34*x^2-50*x+25') solve(f1)
1.2求有理分式R=(3x^3+x)(x^3+2)/((x^2+2x-2)(5x^3+2x^2+1))的商多项式和余多项式.
a1=[3 0 1 0] ; a2=[1 0 0 2] ; a=conv(a1,a2) ; b1=[1 2 -2] ; b2=[5 2 0 1] ; b=conv(b1,b2) ;
[p,r]=deconv(a,b) ; %注意:a b 秩序不可颠倒。
% residue用于实现多项式的部分分式展开,此处用deconv函数
报告名称:MATLAB试验二 符号计算
姓名: 学号: 专业: 班级: %%此题,有同学程序如下:
x1=[3 0 1 0], x2=[1 0 0 2],x3=[1 2 -2],x4=[5 2 0 1] x5=conv(x1,x2)
[y6,r]=deconv(x5,x3) R=deconv(y6,x4)
%%这种方法较第一种解法缺点:在除法运算中,会产生误差,故此题应先将分母的多项式相乘后,再与分子部分的多项式进行运算。
1.3 多项式插值。
下表是一个标准大气压下的蒸汽数据,用于分析温度和内能之间的关系。使用线性插值法确定温度215度时的内能,以及内能为2600KJ/kg时的温度。 温度(C) 内能(KJ/kg) 100 2506.7 150 2582.8 200 2658.1 250 2733.7 300 2810.4 400 2967.9 500 3131.6 T=[100,150,200,250,300,400,500]; U=[2506.7,2582.8,2658.1,2733.7,2810.4,2967.9,3131.6] newU=interp1(T,U,215) newT=interp1(U,T,2600) 1.4 多项式的拟合。已知: X0=0:0.5:10;
Y0=[0,82,212,326,395,526,622,738,818,909,1029,1108,1186,1330,1411,1540,1612,1726,1822,1940,2044];
对上述数据进行多项式拟合,分别采用一阶,二阶,四阶进行拟合。
>> X0=0:0.5:10;
Y0=[0,82,212,326,395,526,622,738,818,909,1029,1108,1186,1330,1411,1540,1612,1726,1822,1940,2044];
p1=polyfit(X0,Y0,1) %一阶拟合 p1 =
202.8078 3.8658 (其他略。)
2 数据分析
下表为5位学生的成绩表 学生编号 数学 1 75 2 62 语文 81 85 物理 73 79 报告名称:MATLAB试验二 符号计算
姓名: 学号: 专业: 班级:
3 71 68 60 4 58 92 75 5 73 90 81 2.1 用二维矩阵保存学生成绩信息 >> score=[75 81 73;62 85 79;71 68 60;58 92 75;73 90 81] 2.2 统计每位学生的平均分,总分和最高分 >> mean(score,2) %平均分
>> sum(score,2) %总分,注意cumsum用于求累计求和,此处用sum函数即可 >> max(score,[],2) %最高分
%%方法二: mean(score') sum(score') max(score')
2.3 统计每门课程的平均分,总分和总分 >> mean(score) %平均分 >> sum(score) %总分 >> max(score) %最高分 2.4 统计每门课程的标准差 >> std(score,0)
2.4 按照语文成绩的升序列对矩阵进行重新排序 >> [x,ind]=sortrows(score,2)
2.5 打印语文成绩排名第2的学生三门课程的成绩信息: 显示格式如下:×的数学成绩:××分,语文成绩:××分物理成绩:××分
fprintf('%d 的数学成绩是%d,语文成绩是%d,物理成绩是%d\\n', ind(4),x(4,1),x(4,2),x(4,3))
%%方法二:
[s,ind]=max(score(:,1))
fprintf('%d 的数学成绩是%d,语文成绩是%d,物理成绩是%d\\n', ind,score(ind,1),score(ind,2),score(ind,3))
3 创建符号表达式。(必做) 1.1 分别使用sym和syms命令创建符号表达式
(解答略)
f?ax3?bx2?cx?d。
1.2 使用findsym确定上题符号表达式f的自由变量以及第一自由变量。
(解答略)
1.3 执行下列语句,比较a1,a2,a3和a4的执行结果和数据类型。 >> a1=1/4+1/6
>> a2=sym(1/4+1/6)
报告名称:MATLAB试验二 符号计算
姓名: 学号: 专业: 班级:
>> a3=’1/4+1/6’
>> a4=eval('1/4+1/6')
解答略。说明:通过本题希望大家对数值类型、符号型、字符串类型等数据对象能进行区分,理解几种对象转换关系,更详细的内容请参考PPT上的图解说明。
4 置换操作—subs命令的应用(必做)。 2.1对于符号表达式f?e?x,分别求解: 2.1.1 f(0)
>> f=sym('exp(-x)'); %思考:f=sym('exp^(-x)') 写法错在那里? >> subs(f,0) ans = 1
%以下解法亦可:
>> f=sym('exp(-x)'); >> x=0; >> subs(f)
ans =
1
2.1.2 f(1),f(2),f(3),...,f(20)
>> subs(f,1:10) ans =
Columns 1 through 8
0.3679 0.1353 0.0498 0.0183 0.0067 0.0025 0.0009 0.0003 Columns 9 through 10 0.0001 0.0000
2.2 对于符号表达式f?asin(x)?5
2.2.1 用符号变量y替代sin(x) >> f=sym('a*sin(x)+5'); >> subs(f,'sin(x)','y') ans = a*(y)+5
2.2.2 求解当a=3, x=pi/3时,f的值。
>> subs(f,{'a','x'},{3,pi/3}) %思考: f2=subs(f,'a*sin(x)','3*pi/3')错误? ans =
报告名称:MATLAB试验二 符号计算
姓名: 学号: 专业: 班级:
7.5981
% 以下解答亦可
>> a=3; >> x=pi/3; >> f2=subs(f)
5符号表达式的运算
5.1已知符号表达式f(x)?1?sin2x,g(y)?2y?1,求符合函数f(g(z))(必做)。 >> f=sym('1-sin(x)^2'); >> g=sym('2*y+1'); >> compose(f,g,'z') ans =
1-sin(2*z+1)^2
5.2 求函数y?1?ln2sinx的反函数。(必做)
>> y=sym('sqrt(1+log(sin(x))^2)');
%也可写作 y=sym('sqrt(1+(ln(sin(x)))^2)'),这里要注意的是数值运算中没有ln函数。 >> g=finverse(y)
Warning: finverse(sqrt(1+log(sin(x))^2)) is not unique. > In sym.finverse at 43 %这里是警告解非唯一解 g =
asin(exp((-1+x^2)^(1/2)))
d2fx3y?5y5.3 已知f(x,y)?,求2dxdy2x?7。(必做)
x?1syms x y
f=(x^3*y-5*y)/(2*x^2+7) g =diff(diff(f,x),y)
%有同学调用方式:>> f1=diff(f,2) ,要注意这种调用方法其实是对第一自由变量x求2阶导数。
subs(g,x,1)
解:
ans =
0.5309
5.4 计算二重积分
??2?dy??y??sin(x)dx。(必做) x>> f=sym('sin(x)/x');
>> int(int(f,'x','y-pi',pi),'y',pi,2*pi) %注意对y积分,要明确指定积分变量‘y’
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库matlab2011实验2参考答案在线全文阅读。
相关推荐: