1樓:
應該是精度的問題。計算機用0,1表示的時候。eps
ans =
2.2204e-016
這是計算機能表示的最小的數,然後資料表示的時候有誤差。當誤差大於eps時,可能就導致了上述錯誤。
另外我測試了一些其他的。
k0=1.1==1.3-0.2
k1=1.1==1.2-0.1
k2=1.01==1.02-0.01
k3=1.001==1.002-0.001
k4=1.0001==1.0002-0.0001
k5=1.00001==1.00002-0.00001
k6=1.000001==1.000002-0.000001
k7=1.0000001==1.0000002-0.0000001
k8=1.00000001==1.00000002-0.00000001
k9=1.000000001==1.000000002-0.000000001
k10=1.0000000001==1.0000000002-0.0000000001
k11=1.00000000001==1.00000000002-0.00000000001
k12=1.000000000001==1.000000000002-0.000000000001
k13=1.0000000000001==1.0000000000002-0.0000000000001
k14=1.00000000000001==1.00000000000002-0.00000000000001
k15=1.000000000000001==1.000000000000002-0.000000000000001
最後只有
k0 =1
k2 =1
k4 =1
k10 =1
k11 =1
k14 =1
補充:k1=vpa(1.1)==vpa(1.2-0.1)
k1 =1
但是k6=vpa(1.000001)==vpa(1.000002-0.000001)
kk6=vpa(1.000001)==vpa(1.000002)-vpa(0.000001)
k6 = 0
kk6 =0
2樓:匿名使用者
果然啊,好大一個bug
matlab:a=0.2:0.2:1.4,a(5)==1,為什麼結果ans是0(logical)而不是1
3樓:匿名使用者
a的資料型別是double,預設是用64位二進位制表示,因此在儲存的時候會有微小的誤差。通過下圖的驗證會版
發現a(5)與1確實存在權這樣的差距,因此a(5)==1的結果是0。
如果判斷條件是想表達某個變數等於某個數,建議寫為變數與該數的差值的絕對值小於一個很小的數,例如 if( abs(a(5)-1)<1e-6 )
請教高手:matlab中symsum函式的計算結果為什麼是表示式,不是數值呢?
4樓:monkey家園
符號演算也會做一些化簡,但是你要區分哪些它是會去做,哪些它不會去做:
①當數字是有理數且有窮,會被化簡到單數,比如:
symsum(n+n^2,n,1,5)
②當數字是無理且無窮,會保留原式,顯然這時保留原來的形式更簡潔:
symsum(n+n^(1/2),n,1,5)以及你舉的例子
5樓:匿名使用者
syms是進行符號宣告的,即在接下來的執行過程中n都被看做是常值進行相關運算了,在matlab中這個被稱作符號運算,如果你想得到具體的數值解,可以在執行完上述命令後,對n進行賦值,然後使用subs命令,實現**段如下:
syms n
a=symsum(sin(n),n,1,5);
n=1.0;
subs(a)
*****==
ans=0.1762
希望對你有幫助
的這句話是什麼意思?
6樓:匿名使用者
c與a是什來麼東西樓主不說明
自怎麼解答?
只能說c(a(:,2:end)==0是判斷c的第a(:
,2:end)個元素是否等於0.而a(:
,2:end)的意思是,a中除去第一列以外的其他元素。:表示所有行(列),end表示到最後一個元素。
matlab中,r0=abs(z1-z2)<=0.1什麼意思,r0為什麼值
7樓:宇逸
>> x=rand(1,10)
x =0.9501 0.2311 0.
6068 0.4860 0.8913 0.
7621 0.4565 0.0185 0.
8214 0.4447
>> a=x<=0.5
a =0 1 0 1 0 0 1 1 0 1
>> y=x(a)
y =0.2311 0.4860 0.4565 0.0185 0.4447
>>給你舉了一bai個例子
生成一系列
隨機du數,找到這zhi
裡隨機數中小於dao0.5 的數。
x為生內成的隨機數;
a=x<=0.5是判斷x的每個容元素是否小於0.5,返回的是邏輯值;
y=x(a)是把邏輯值為真的x元素提取出來。
犯了什麼邏輯錯誤
首先,作為正確的提問,惠施應對莊子說 你怎麼知道魚快樂呢?而惠施卻又加上了一個前提 你不是魚,怎麼能知道魚快樂呢?這就構成了一個省略推理,省略的大前提是 凡魚以外的事物,都不能知道魚快樂。其次,作為正確的回答,莊子應當說明自己為什麼知道魚快樂的理由。莊子避開了正面回答,而是抓住了惠施的 子非魚,安知...
matlab錯誤使用datenum line 75 輸入
是在說datenum這個函式輸入值個數太少了,可能本身預設3個,你只輸入了兩個,所以出錯。建議你help datenum一下。matlab錯誤使用 feedback line 71 輸入引數的數目不足。就是當執行函式的時候,沒有提供足夠的引數。比如,如果需要計算一個數 x 的正弦值,那麼,如果不給定...
selectfrom語句錯誤
1全部str t and txt tj.text combo1.list j 改為str t and txt tj.text combo1.list j rec.open select count cb1 i text from results where cb1 i text cb2 i text...