24小时热门版块排行榜    

查看: 2143  |  回复: 9

flysun

银虫 (正式写手)

[求助] 关于在origin中画复函数问题

公式为:Ztol={(Rs*×ZMac*).^0.5 ×coth[(Rs*/ ZMac*).^0.5 ×L] ,其中Rs*,L皆为常数,zMac*为复函数:zMac*=1/(jwC),其中 j 为-1的平方根:(-1).^0.5;w为频率0.01Hz-10000Hz;C为一个常数;想要做函数Ztol的实轴对虚轴图形,应该怎么写这个程序啊?请大侠给点指导。
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
csgt0: 专业版请勿灌水 2012-07-27 09:39:27
2楼2012-07-24 15:26:29
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

z萝莉

银虫 (小有名气)

【答案】应助回帖

★ ★ ★
感谢参与,应助指数 +1
cenwanglai: 金币+3, 谢谢回复~ 2012-07-25 17:11:24
我不知道在origin中怎么画,不过可以在matlaB中画出来。这里不知道你说的Rs,L,还有C的值我即首先假设了几个值你可以自己修改一下。w取0.1到10000每隔0.5取一个值。
代码如下
rs=2;
c=3;
l=1;
w=0.1:0.5:10000;
zmac=1./i*w*3;
ztotal=(rs*zmac).^(1/2).*(coth((rs*zmac).^(1/2)));
m=imag(ztotal);
n=real(ztotal);
plot(m,n);
上面m=imag(ztotal);是取虚部,n=real(ztotal);是取实部。

» 本帖已获得的红花(最新10朵)

做好自己该做的事
3楼2012-07-25 10:03:15
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

flysun

银虫 (正式写手)

送鲜花一朵
引用回帖:
3楼: Originally posted by z萝莉 at 2012-07-25 10:03:15
我不知道在origin中怎么画,不过可以在matlaB中画出来。这里不知道你说的Rs,L,还有C的值我即首先假设了几个值你可以自己修改一下。w取0.1到10000每隔0.5取一个值。
代码如下
rs=2;
c=3;
l=1;
w=0.1:0.5:10000 ...

matlab中可以实现实部对虚部作图的!我主要想用非线性最小二乘法原理来拟合原始数据,我有原始数据关于频率w值,w每取一个值都对应一个原始的实部值和虚部值。
我想用以上给出函数来拟合原始数据,由于我给出的函数中包含频率w值,我想把函数中w值赋予原始数据w值,这样得出实部和虚部值与原始数据实部虚部进行对比,用非线性最小二乘法来优化赋值的参数,是函数给出的实部虚部值无限接近原始数据实部和虚部值,不知这样matlab中能不能实现?
4楼2012-07-26 14:21:40
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

flysun

银虫 (正式写手)

csgt0: 专业版请勿灌水 2012-07-27 09:40:55
引用回帖:
2楼: Originally posted by 蜡笔小锌 at 2012-07-24 15:26:29

5楼2012-07-26 14:22:17
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

csgt0

荣誉版主 (著名写手)

彩色挂图

【答案】应助回帖


感谢参与,应助指数 +1
dbb627: 金币+1, 欢迎交流 2012-07-28 21:03:03
引用回帖:
4楼: Originally posted by flysun at 2012-07-26 14:21:40
matlab中可以实现实部对虚部作图的!我主要想用非线性最小二乘法原理来拟合原始数据,我有原始数据关于频率w值,w每取一个值都对应一个原始的实部值和虚部值。
我想用以上给出函数来拟合原始数据,由于我给出的函 ...

matlab可以实现,可以用fminsearch,lsqnoneg,fminunc等函数进行拟合,单变量的还可以用fimbnd,约束的可以用fmincon,甚至ga算法。
showmethemoney
6楼2012-07-26 17:31:59
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

flysun

银虫 (正式写手)

引用回帖:
6楼: Originally posted by csgt0 at 2012-07-26 17:31:59
matlab可以实现,可以用fminsearch,lsqnoneg,fminunc等函数进行拟合,单变量的还可以用fimbnd,约束的可以用fmincon,甚至ga算法。...

谢谢,我试试看!
7楼2012-07-27 08:40:45
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

z萝莉

银虫 (小有名气)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
dbb627: 金币+1, 欢迎交流 2012-07-28 21:02:37
flysun: 金币+10, ★★★很有帮助 2012-08-16 15:27:50
Sample Text你先建立一个名字为jack的m文件并保存。
内容为:
function ztotal=jack(w)
a=zeros(1,3);
zmac=1./i*w*a(2);
Ztol={(a(1)*ZMac*).^0.5 ×coth[(a(1)*/ ZMac*).^0.5 ×a(3)];
结束了其中a(1),a(2),a(3)分别表示rs,c,l
然后再matlab的控制窗口中输入:
w=[............];
ztotal=[...............];
[xx,res]=lsqcurvefit(@jack,[1,1,1],w,ztotal)
其中[1,1,1]是大概的初始值你可以取你猜测接近的值。

» 本帖已获得的红花(最新10朵)

做好自己该做的事
8楼2012-07-28 10:07:12
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

flysun

银虫 (正式写手)

送鲜花一朵
引用回帖:
8楼: Originally posted by z萝莉 at 2012-07-28 10:07:12
Sample Text你先建立一个名字为jack的m文件并保存。
内容为:
function ztotal=jack(w)
a=zeros(1,3);
zmac=1./i*w*a(2);
Ztol={(a(1)*ZMac*).^0.5 ×coth;
结束了其中a(1),a(2),a(3)分别表示rs,c,l
然后再m ...

就是想用 这个函数的非线性最小二乘法拟合实验数据的,谢谢你!
9楼2012-08-01 20:08:17
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

flysun

银虫 (正式写手)

引用回帖:
8楼: Originally posted by z萝莉 at 2012-07-28 10:07:12
Sample Text你先建立一个名字为jack的m文件并保存。
内容为:
function ztotal=jack(w)
a=zeros(1,3);
zmac=1./i*w*a(2);
Ztol={(a(1)*ZMac*).^0.5 ×coth;
结束了其中a(1),a(2),a(3)分别表示rs,c,l
然后再m ...

ztotal=[...............];这里输入的是复数形式吧:实部加虚部值形式,比如2+3i 形式?还是复数的模值?
10楼2012-08-16 15:59:49
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 flysun 的主题更新
信息提示
请填处理意见