2016-04-16 16 views
1
function [dhdt, x] = velocity(t, h) 
    dhdt = -9.8 * t; 
    x = 4 * t; 
end 

これは基本的に私の機能(ファイル名はvelocity.m)です。最初は、括弧[]の間にあるものが出力になると思いました。私がコマンドウィンドウに入力したとき、私は答えが1つしかなかった。関数は実際にMATLABでどのように機能しますか?

velocity(1) 

%// -9.8 

私はdhdtx

velocity(1) 
%// -9.8 4 

の両方を含む2要素ベクトルを取得することが期待これはなぜですか?

答えて

4

[dhdt、x] = velocity(1)と入力すると、両方の値が表示され、変数に変数が格納されます。

また、hパラメータが関数で使用されていないため、このパラメータを指定しないと逃げることができません。 velocity()でhを使用し、velocity(1)と呼んだ場合、それは壊れます。

+0

ty!私は "h"のことを知っていましたが、おかげさまで非常に細かいことがあります – inspd

+0

これを詳しく説明するには、配列を元に戻したい場合は、関数の内部に配列を作成し、その変数を返します: 'function y = velocity t)。 y = [-9.8 * t、4 * t]; end' – Suever

関連する問題