Matlab 版 (精华区)

发信人: zjliu (秋天的萝卜), 信区: Matlab
标  题: [合集]新人请教高手
发信站: 哈工大紫丁香 (2004年01月03日20:27:54 星期六), 站内信件


────────────────────────────────────────
 tmj (客户)                           于 Sat Dec 27 09:55:19 2003 说道:


我刚学matlab
在求微分是碰到一个问题,我用diff来算如下
>> h = .01; x = 1:h:pi;
>> diff(sin(x.^2))/h
运行后出现一大窜数字,我就想得到最后结果,问怎样才能是中间运行的数字不出来

如下:
Columns 301 through 306 

  -5.54700337664715  -5.69486645489035  -5.82321467329126  -5.93123594195812  
-6.01818069164105  -6.08336681767168

  Columns 307 through 312 

  -6.12618449110789  -6.14610080919690  -6.14266425690374  -6.11550895093504  
-6.06435863758722  -5.98903041572114

  Columns 313 through 314 

  -5.88943815635601  -5.76559559066852
怎样使前面的数字不出现
多谢

────────────────────────────────────────
 zjliu (秋天的萝卜)                   于 2003年12月27日09:56:10 星期六 说道:

语句后面加分号就好了

────────────────────────────────────────
 tmj (客户)                           于 Sat Dec 27 10:14:12 2003 说道:



还是不行啊,最后结果还是一串




────────────────────────────────────────
 tmj (客户)                           于 Sat Dec 27 10:16:58 2003 说道:



我又运行了了一下
 h = .01; x = 1:h:pi;
>> b=diff(sin(x.^2))/h;
>> a=b+1
还是一窜




────────────────────────────────────────
 zjliu (秋天的萝卜)                   于 2003年12月27日10:23:28 星期六 说道:

         ~~~~这句后面加再加分号

────────────────────────────────────────
 tmj (客户)                           于 Sat Dec 27 10:29:17 2003 说道:


我是向显示a的结果啊!








────────────────────────────────────────
 zjliu (秋天的萝卜)                   于 2003年12月27日10:32:05 星期六 说道:

所显示就是a的数值

────────────────────────────────────────
 tmj (客户)                           于 Sat Dec 27 10:45:39 2003 说道:




可是结果是下面,          而我就想得到 a= 0.72532819336208
a =

  Columns 1 through 6 

   2.06893694759642   2.04462920646339   2.01884675068217   1.99156891847971  
 1.96277611220967   1.93244987884605

  Columns 7 through 12 

   1.90057299230603   1.86712953752831   1.83210499622450   1.79548633421269  
 1.75726209023327   1.71742246613794

  Columns 13 through 18 

   1.67595941833336   1.63286675035110   1.58814020640522   1.54177756578969  
 1.49377873795523   1.44414585809719

  Columns 19 through 24 

   1.39288338307246   1.33999818745458   1.28549965952325   1.22939979697433  
 1.17171330212422   1.11245767637098

  Columns 25 through 30 

   1.05165331366347   0.98932359271741   0.92549496770634   0.86019705714329  
 0.79346273065784   0.72532819336208











────────────────────────────────────────
 Ustcer (山城棒棒儿军)                于 2003年12月27日11:00:04 星期六 说道:

你这里是对序列求差分
当然结果就是一长串的了

────────────────────────────────────────
 tmj (客户)                           于 Sat Dec 27 11:01:45 2003 说道:


哪有其他什么方法嘛,请教






────────────────────────────────────────
 Ustcer (山城棒棒儿军)                于 2003年12月27日11:09:54 星期六 说道:

不明白你具体的需求

────────────────────────────────────────
 tmj (客户)                           于 Sat Dec 27 11:14:40 2003 说道:


我想求函数f(x)=x*exp(x)-1=0在x=x0的导数





────────────────────────────────────────
 Ustcer (山城棒棒儿军)                于 2003年12月27日11:24:23 星期六 说道:

>> df=diff('x*exp(x)-1');
>> x=1;
>> df=diff('x*exp(x)-1');
>> x=1;% 假设x0=1
>> subs(df)
ans =
    5.4366

────────────────────────────────────────
 tmj (客户)                           于 Sat Dec 27 11:35:42 2003 说道:


多谢啊
不过你能给我解释一下subs吗
我查了一下 help,一堆英文,太麻烦,呵呵










────────────────────────────────────────
 Ustcer (山城棒棒儿军)                于 2003年12月27日11:39:26 星期六 说道:

说简单点儿就是代入
因为前面求解微分是符号运算过程
得到的df是符号表达式子
然后我令x=1,再将x=1代入符号表达式求值

────────────────────────────────────────
 tmj (客户)                           于 Sat Dec 27 11:47:29 2003 说道:



有一点点明白,先这样了。
很感谢你啊,以后会长问你的,呵呵,不嫌麻烦吧!





────────────────────────────────────────
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:3.248毫秒