MATLAB爱好者论坛-LabFans.com

MATLAB爱好者论坛-LabFans.com (https://www.labfans.com/bbs/index.php)
-   MATLAB论坛 (https://www.labfans.com/bbs/forumdisplay.php?f=6)
-   -   [求助]我是新手,问一个很简单的小问题 (https://www.labfans.com/bbs/showthread.php?t=5802)

lry122 2008-12-12 22:23

[求助]我是新手,问一个很简单的小问题
 
请问sinxcosx的三次方在-pi到pi的定积分应该怎么求

我的表达式是这么输入的

x=-pi:pi/50:pi
y=sin(x)^(1/3)*cos(x)^(1/3)
trapz(x,y)

可是老被提示错误:
??? Error using ==> ^
Matrix must be square.

请问我错在哪里

lukehiker 2008-12-13 09:25

回复: [求助]我是新手,问一个很简单的小问题
 
[QUOTE=lry122;21916]请问sinxcosx的三次方在-pi到pi的定积分应该怎么求

我的表达式是这么输入的

x=-pi:pi/50:pi
y=sin(x)^(1/3)*cos(x)^(1/3)
trapz(x,y)

可是老被提示错误:
??? Error using ==> ^
Matri...[/QUOTE]

x变量是一个1×101的向量,你的第二个表达式是在对这个向量进行操作。试问一个1×101的向量乘以一个1×101的向量怎么会有结果?你是想表达x的第n个元素跟x的第n的元素相乘,然后赋予y。通常这种情况下用[COLOR="Red"].*[/COLOR], 通常对矩阵的操作都用‘点儿什么’,[COLOR="Blue"]^[/COLOR]也应该改成[COLOR="Red"].^[/COLOR]其实‘点儿什么’是matlab强大的功能之一,相当于内置的循环,但是比循环更方便,看上去也更紧凑。

PS: 表达式的最后最好加个分号[COLOR="Red"];[/COLOR],这样就command window看上去会整洁一些。

cheers

mathjiang 2008-12-14 09:48

回复: [求助]我是新手,问一个很简单的小问题
 
楼上这么详细的解答,楼主都没有说句话?

sqqssqq 2008-12-14 12:43

回复: [求助]我是新手,问一个很简单的小问题
 
这个问题一般的书里都有讲啊

debateshang 2008-12-14 13:25

回复: [求助]我是新手,问一个很简单的小问题
 
x=-pi:pi/50:pi
y=sin(x)[COLOR="Red"].^[/COLOR](1/3)[COLOR="red"].*[/COLOR]cos(x)[COLOR="red"].^[/COLOR](1/3);
trapz(x,y)
但我算了一下结果 1.5193 + 2.6314i怎么是复数呀不明白


所有时间均为北京时间。现在的时间是 04:52

Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.