回覆列表
  • 1 # 我是阿嘛

    a=0:pi/36:pi;b=0:pi/36:pi;

    T=[cos(a),-sin(a).*cos(b),sin(a).*sin(b);sin(a),cos(a).*cos(b),-cos(a).*sin(b);zeros(size(a)),sin(b),cos(b)];

    不用構造。。。你原式這麼表述就對了,但是有個小問題就是那個0,sinb,cosb那裡,因為0這個位置長度和之前每一行第一個元素的長度不對,所以執行的時候報錯,說你的陣列長度不一致。我這個執行結果是正常的,請對比一下,你就明白了。

    還有告訴你一個命令很好用eval("string"),注意它的呼叫格式,如果你的命令在執行過程中變數變化,你就可以用到這個命令了。

    例如:你這個例子,每次只輸入一個a,b,(你的原文是陣列).

    string="T=[cos(a),-sin(a).*cos(b),sin(a).*sin(b);sin(a),cos(a).*cos(b),-cos(a).*sin(b);zeros(size(a)),sin(b),cos(b)];";

    a=0,b=0;

    eval(string);

    a=1,b=1;

    eval(string);

  • 中秋節和大豐收的關聯?
  • 煮粥時粥為什麼會冒泡?