How do I input a matrix (variable) in a function?
2 ビュー (過去 30 日間)
古いコメントを表示
I created a function:
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/145823/image.jpeg)
.
x is the excitation wavelength where i will input eg. " test,wavelength(765,y)"
.
y is a 729 by 1 matrix: .
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/145824/image.jpeg)
.
the result is:
.
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/145825/image.jpeg)
.
where only the first number of y matrix is being implemented in the function. How do i create a function where the first number of y matrix will be implemented and return as a result as the first number in wavelengtha matrix and so on.
1 件のコメント
the cyclist
2014 年 10 月 22 日
The screenshots are very helpful in understanding your problem. I suggest not using them for the actual code, though, so that we can copy & paste your code into MATLAB ourselves.
採用された回答
Mohammad Abouali
2014 年 10 月 22 日
1) why you have comma in your function name?
2) Change your equation in element wise division as follow:
wavelengtha= 1./ ((1./x)-(y/10^7))
3 件のコメント
Mohammad Abouali
2014 年 10 月 22 日
One way is to do this:
let's say x=[765, 766, 777]
then you can do this:
for i=1:numel(x) wavelengtha{i}= yourFunction(x(i), ...) end
I still don't get the comma in your function name?
その他の回答 (1 件)
the cyclist
2014 年 10 月 22 日
I'm not sure I fully understand what you mean, but does this do what you intend?
wavelengtha = 1./((1./x) - (y/10^7));
Notice that I used element-wise division.
参考
カテゴリ
Help Center および File Exchange で Matrix Indexing についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!