問題8.2つの数字を追加する
aとbが与えられた場合、cの合計a + bを返します。
2つの数値の合計を返します。
function c = add_two_numbers(a,b)
c = a+b;
end
第二题問題3.入力ベクトルのすべての数の合計を求めます
入力ベクトルxのすべての数の合計を求めます。
例:
入力x = [1 2 3 5]
出力yは11です
入力x = [42 -1]
出力yは41です
ベクトルで使用されている要素の合計を返すには、sum()を直接使用します。
function ans = vecsum(x)
sum(x)
end
最初に与えられた関数の戻り変数はyであり、ここではansに変更され、最終結果の計算時にセミコロンは追加されないため、変数スペースを節約でき、多くの質問をこの方法で最適化できることに注意してください。
問題1702。行列の最大値
与えられた行列の最大値を見つけます。
たとえば、
A = [1 2 3; 4 7 8; 0 9 1];
答えは9です。
指定された行列の最大値を返します。最大のテストケースは2次元の行列であり、最大の2つの層で十分です。
function ans = your_fcn_name(x)
max(max(x))
end
問題1545.正方形の戻り領域
正方形の辺=入力= a
Area = output = b
関数の入力は、正方形の一辺の長さaとその面積bの範囲です。(コメント領域を見ると、誰かが入力に惑わされ、入力を使用して手動入力値を取得しました)
直接:
function b = area_square(a)
b = a*a;
end
またはb = a ^ 2;
問題233.ベクトルを逆にする
ベクトル要素を逆にします。
例:
入力x = [1,2,3,4,5,6,7,8,9]
出力y = [9,8,7,6,5,4,3,2,1]
次に、ベクトル要素は最初の要素であり、最後の要素の交換位置、2番目と最後から2番目などは、ミラーリング関数fliplrで直接使用できます。
function y = reverseVector(x)
y = fliplr(x);
end
または、逆走査を介して:y = x(end:-1:1);達成するには、後者の方が高速です。
質問6問題1035.1、2、2、3、3、3、4、4、4、4のようなベクトルを生成します
1,2,2,3,3,3,4,4,4,4のようなベクトルを生成します
したがって、n = 3の場合、
[1 2 2 3 3 3]
そして、n = 5の場合、
[1 2 2 3 3 3 4 4 4 4 5 5 5 5 5]
入力値nが与えられた場合、1、2、3、... nnの順序で生成されたベクトルを返します。repelem関数を直接使用することも、トラバーサルなどの他の方法を使用することもできます。後者の方が記述が面倒です。
function ans = your_fcn_name(n)
repelem(1:n,1:n)
end
問題23.完璧な正方形を見つける
数値のベクトルが与えられた場合、数値の1つが他の数値の1つの正方形である場合、trueを返します。それ以外の場合はfalseを返します。
例:
入力a = [2 3 4]
出力bは真です
2 ^ 2は4であり、2と4の両方がリストに表示されるため、出力はtrueです。
ベクトル内の要素が特定の値とこの値の2乗の存在を同時に満たすかどうかを判断します。質問の意味は...他の1つとして示されます。つまり、この値と2乗はこの値を同じ数にすることはできないため、1と0は考慮できません。
2つの簡単なアイデアがあります。1つは、xとx。^ 2の交点を見つけ、空でない場合はtrueを返すか、x(i)= x(j)^ 2が満たされているかどうかに関係なくxを2回トラバースすることです。 。
ただし、上記の1と0のため、再交差で1回だけ表示される1または0は削除され、さらに保持できます。これは、xに複数の1または0があり、他の条件を満たすことを示しています。 2つのトラバーサルは、i!= jの条件でのみ実行する必要があります。
しかし、テストケースの1については当てはまります。
合格したい場合は、それほど考える必要はありません。直接、次のようにします。
function b = isItSquared(x)
b=~(isempty(intersect(x.^2,x)));
end
しかし、私はそれが彼の意味を満たすために修正されるべきだと思います:
function b = isItSquared(x)
b=intersect(x.^2,x);
f=find(b==0);
b(f(1))=[];
f=find(b==1);
b(f(1))=[];
b=~isempty(b);
end
b()= []を使用して要素を削除すると、次の要素が前方に移動します。複数の1または0の発生を防ぐために、1つだけが削除されます。
質問8問題2.ベクトルを作成します[12 3 4 5 6 7 8 9 10]
この質問では、1からnではなく1から10を返す必要があります。
function x = oneToTen
x = 1:10;
end
質問9問題5.三角数
三角数は、連続する整数の合計です。したがって、6は三角数です。
6 = 1 + 2 + 3
このように三角形に表示することができます
*
* *
* * *
したがって、6 = triangle(3)です。nが与えられた場合、nの三角数であるtを返します。
例:
入力n = 4
出力tは10です
nレベルの三角分布の点の数を見つけます。i番目のレベルはi、つまり1、2、3、です。。。nの合計には、合計式を直接使用します。
function t = triangle(n)
t=n*(n+1)/2;
end
質問10斜辺の長さ
長さaとbの短辺が与えられた場合、直角三角形の斜辺の長さcを計算します。
直角三角形の2つの短辺の長さaとbが与えられた場合、直角辺cを見つけて、量子力学を直接使用します。いいえ、ピタゴラスの定理です。
function c = hypotenuse(a,b)
c = sqrt(a^2+b^2);
end
11番目の質問問題6.ベクトルの他のすべての要素を選択します
渡されたベクトルの他のすべての要素を返す関数を記述します。つまり、最初の要素から始まるすべての奇数の要素を返します。
例:
入力x = [1 3 2 4 3 5]
出力yは[123]です
入力x = [5 9 3 2 2 0 -1]
出力yは[53 2-1]です。
ベクトルのすべての奇数(奇数)要素を返します。添え字は1から始まり、直接1:2:endにすることができます。2は走査ステップ長を表します。偶数の場合は2:2:endです。
function y = everyOther(x)
y = x(1:2:end);
end
問題7.列の削除
入力行列Aからn番目の列を削除し、結果の行列を出力Bに返します。
だからもし
A = [1 2 3;
4 5 6];
そして
n = 2
次にBは
[1 3
46]
行列Aのn番目の列を削除します
最初の方法は、最初の1〜n-1とn +1を最後の2つのサブ行列にマージすることです。
function B = column_removal(A,n)
B=[A(:,1:n-1),A(:,n+1:end)];
end
2番目のアプローチは、n番目の列を空に設定することです。
B=A;
B(:,n)=B;