converting a vector to matrix
現在この質問をフォロー中です
- フォローしているコンテンツ フィードに更新が表示されます。
- コミュニケーション基本設定に応じて電子メールを受け取ることができます。
エラーが発生しました
ページに変更が加えられたため、アクションを完了できません。ページを再度読み込み、更新された状態を確認してください。
古いコメントを表示
0 投票
I'm doing practice questions, and I am stuck. If the vector is x=[9,4,0,7] and i want to create a Matrix with 4 rows (the original vector, the recipricol, the factorial of the originals using my own code i already wrote, and the factorial using matlab's factorial function) while also putting ruler lines above and below the outputs. How the heck does one do this?
採用された回答
David Hill
2020 年 2 月 28 日
Not sure if this is what you are after, but it could be a starting point. Not sure what you mean by ruler lines above and below.
y=[x;1./x;factorial(x)];
10 件のコメント
Charlotte Reed
2020 年 2 月 28 日
This is the actual question for more reference:
A vector is given by x = [9, 4, 0 ,7]. Create a program that creates the vector x, then creates a matrix M from this vector. The matrix M has four rows, as follows:
• The original vector, x
• The reciprocal of x
• The factorial of the elements in x computed using the myFactorial function from the last question
• The factorial of the elements in x computed using MATLAB's factorial function.
Output the matrix M, with a ruler line above and below. For the numeric output, use MATLAB's fprintf function, creating the four lines of output in a single statement that executes once. For each value, use a field width of 15 characters, including 4 decimal places.
David Hill
2020 年 2 月 28 日
x=[9 4 0 7];
M=[x;1./x;myFactorial(x);factorial(x)];
I will leave the printing to you using fprintf() function.
Charlotte Reed
2020 年 2 月 28 日
Still wasn't able to code it
David Hill
2020 年 2 月 28 日
show me the code for your myFactorial() function
Charlotte Reed
2020 年 2 月 28 日

David Hill
2020 年 2 月 28 日
There are lots of good examples in the fprintf() function. You just need to experiment with the syntac until you get the format you want.
Charlotte Reed
2020 年 2 月 28 日
im not able to get the answer whatsoever, let alone fprint tit
David Hill
2020 年 2 月 28 日
myFactorial needs to be a function!
function y=myFactorial(x)%input x can be an array
x(x==0)=1;%takes care of 0!
for k=1:length(x)
y(k)=prod(1:x(k));
end
end
Then this should work for you.
x=[9 4 0 7];
M=[x;1./x;myFactorial(x);factorial(x)];
I get:
M =
1.0e+05 *
0.000090000000000 0.000040000000000 0 0.000070000000000
0.000001111111111 0.000002500000000 Inf 0.000001428571429
3.628800000000000 0.000240000000000 0.000010000000000 0.050400000000000
3.628800000000000 0.000240000000000 0.000010000000000 0.050400000000000
Charlotte Reed
2020 年 2 月 28 日
thanks so much!! and for the
fprintf('------------- ------------- ----------- ------------\n')
fprintf('M\n')
fprintf('------------- ------------- ----------- ------------\n')
?
Thanks so much for the help, pretty new to it and having trouble.
Walter Roberson
2020 年 2 月 28 日
fprintf('------------- ------------- ----------- ------------\n')
fprintf('%13.5f %13.5f %13.5f %13.5f\n', M');
fprintf('------------- ------------- ----------- ------------\n')
The choice of 13.5f is speculation on my part: you will want to play around with the .5 part.
その他の回答 (0 件)
カテゴリ
ヘルプ センター および File Exchange で Creating and Concatenating Matrices についてさらに検索
タグ
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
- América Latina (Español)
- Canada (English)
- United States (English)
ヨーロッパ
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)
