声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1874|回复: 14

[编程技巧] 该简单的matlab程序为什么错了?

[复制链接]
发表于 2009-4-2 10:38 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
  1. clear all
  2. syms x;
  3. s=10^-4*x;
  4. f=airy(s)*exp(s);
  5. print(f)
复制代码



谢谢,请高手指点!
回复
分享到:

使用道具 举报

发表于 2009-4-2 11:39 | 显示全部楼层

回复 楼主 soberprogress 的帖子

LZ是否要ezplot(f)
 楼主| 发表于 2009-4-2 16:19 | 显示全部楼层

回复 沙发 ChaChing 的帖子

LZ是什么意思?:@L
原打算是要用ezplot(f)的,可是也不可以啊!
发表于 2009-4-3 10:12 | 显示全部楼层
help airy
试试
clear all
syms x;
s=10^-4*x;
f=airy(1)*exp(s);
ezplot(f)

评分

1

查看全部评分

发表于 2009-4-3 10:30 | 显示全部楼层
好像airy输入出错了。。
随便改了下,不知是不是LZ想要的。。。
clear all
syms x;
x=-2*pi:2*pi;
s=10^-4.*x;
f=airy(s).*exp(s);
plot(x,f)

评分

1

查看全部评分

发表于 2009-4-3 11:04 | 显示全部楼层

回复 地板 friendchj 的帖子

数学已远离个人! airy函数不是很清楚
但下两式画出的图不是一样吗?
clear all; syms x; s=10^-4*x; f=airy(s)*exp(s); ezplot(f)
clear all; syms x; s=10^-4*x; f=airy(1)*exp(s); ezplot(f)

评分

1

查看全部评分

发表于 2009-4-3 11:10 | 显示全部楼层

回复 6楼 ChaChing 的帖子

我也不太清楚airy函数,但airy函数的操作对象不能是符号类型。
>> syms x
>> airy(x)
??? Error using ==> besselmx
Input must be single or double.

Error in ==> airy at 42
   [w,ierr] = besselmx(real('A'),k,z);
发表于 2009-4-3 11:16 | 显示全部楼层

回复 楼主 soberprogress 的帖子

这个程序一点都不简单啊,短短5句话利用了matlab很多功能,显然matlab还不够聪明,跟不上楼主的跳跃性思维
发表于 2009-4-3 16:01 | 显示全部楼层

回复 7楼 friendchj 的帖子

我想又是版本出问题了(见下), 我的版本太旧(v5.6)
?syms  x
?airy(x)
ans =
  3.5503e-001
发表于 2009-4-3 17:15 | 显示全部楼层

回复 9楼 ChaChing 的帖子

matlab里不同版本GUI好像也不兼容,呵呵
发表于 2009-4-3 18:29 | 显示全部楼层

没错, 这也是以前曾学过使用GUI, 後来就懒得去学习的原因! 换版本就需重来! 致造成GUI都不会了!
 楼主| 发表于 2009-4-4 12:03 | 显示全部楼层

谢谢大家的关照及个人观点

airy函数的变量不可以是符号型的,我用了匿名函数@(x)airy(x)可是匿名函数的应用很不方便。特别是参数的代入问题不易解决!

[ 本帖最后由 ChaChing 于 2009-4-5 21:28 编辑 ]
 楼主| 发表于 2009-4-6 19:58 | 显示全部楼层

回复 12楼 soberprogress 的帖子

感谢各位朋友的答复!问题解决了,因为airy函数是其他函数合成的,所以用了它的合成方式,这样变量可以是符号变量了,也可以进行积分了!:lol

评分

1

查看全部评分

 楼主| 发表于 2009-4-7 20:50 | 显示全部楼层

回复 13楼 soberprogress 的帖子

惭愧:@L
网上查询发现,airy函数 是个有问题的函数,13楼采用的方法有个问题就是作图发现 在原点处 存在不连续现象?

评分

1

查看全部评分

 楼主| 发表于 2009-4-12 08:19 | 显示全部楼层

本贴想解决的问题?

  1. >> clear all
  2. syms x y
  3. >> f=airy(x).*cos(y);
  4. ??? Error using ==> besselmx
  5. Input must be single or double.

  6. Error in ==> airy at 42
  7. [w,ierr] = besselmx(real('A'),k,z);
复制代码


打算定义一个函数f  ,完成对x,y的积分,遇到该问题!
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-26 00:43 , Processed in 0.092089 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表