| 查看: 392 | 回复: 2 | |||
[交流]
【求助】隐函数求解问题 已有2人参与
|
|
各位大虾,我现在有三组实验数据 x=[3.2034 2.5439 2.2442 2.1043 1.9245 1.7846];y=[0.5989 0.4912 0.4593 0.4137 0.3844 0.3573];z=[0.0201 0.0192 0.0191 0.0188 0.0184 0.0180]; 现在我想根据x和z的值用公式x-(y/(y+z))*((1.6504*y+1.4592*z)/1.6504/0.2969)^1.6504=0对y值进行求解并与实验值进行比较,应该如何操作并画出计算值y的趋势图???图以x轴为横坐标,y为纵坐标!用matlab或origin能行吗? |
» 猜你喜欢
299求调剂
已经有6人回复
286分人工智能专业请求调剂愿意跨考!
已经有5人回复
279求调剂
已经有3人回复
336求调剂
已经有3人回复
286求调剂
已经有3人回复
一志愿华中科技大学071000,求调剂
已经有3人回复
279分求调剂 一志愿211
已经有14人回复
332求调剂
已经有3人回复
0856材料专硕353求调剂
已经有3人回复
材料学学硕080502 337求调剂-一志愿华中科技大学
已经有5人回复


2楼2010-04-25 10:49:38
zjliu1265
至尊木虫 (正式写手)
- 应助: 18 (小学生)
- 金币: 12020.7
- 散金: 200
- 帖子: 642
- 在线: 679.6小时
- 虫号: 585320
- 注册: 2008-08-08
- 性别: GG
- 专业: 光学
★ ★
legend85(金币+2):非常感谢! 2010-04-28 13:36
adu886886(金币+2):谢谢应助 2010-04-28 14:27
legend85(金币+2):非常感谢! 2010-04-28 13:36
adu886886(金币+2):谢谢应助 2010-04-28 14:27
|
我用二分法写了个程序,不知是否满足你的需要: % 隐函数求解问题 clc;clear;close all; xt=[3.2034 2.5439 2.2442 2.1043 1.9245 1.7846]; zt=[0.0201 0.0192 0.0191 0.0188 0.0184 0.0180]; y=1; for k=1:length(xt); x=xt(k);z=zt(k); y1=0; y2=1; f1=x-(y1/(y1+z))*((1.6504*y1+1.4592*z)/1.6504/0.2969)^1.6504; f2=x-(y2/(y2+z))*((1.6504*y2+1.4592*z)/1.6504/0.2969)^1.6504; while max(abs(f1),abs(f2))>1e-6; f1=x-(y1/(y1+z))*((1.6504*y1+1.4592*z)/1.6504/0.2969)^1.6504; f2=x-(y2/(y2+z))*((1.6504*y2+1.4592*z)/1.6504/0.2969)^1.6504; y=[y1+y2]/2; f=x-(y/(y+z))*((1.6504*y+1.4592*z)/1.6504/0.2969)^1.6504; if f>0; y1=y; else y2=y; end end yt(k)=y; k end yt0=[0.5989 0.4912 0.4593 0.4137 0.3844 0.3573] plot(yt0,'k+');hold on; plot(yt,'rx');hold on; %%%%%%%%%%% 图解确定根的个数 % figure; for k=1:6; x=xt(1);y=yt(k); ys=linspace(0,1,101); f=x-(ys./(ys+z)).*((1.6504*ys+1.4592*z)/1.6504/0.2969).^1.6504; subplot(2,3,k);plot(ys,f); end %%% over %% |
3楼2010-04-28 11:03:34













回复此楼
10