私は自分でMATLABに取り組んでいます、そしてプロジェクトオイラー 上の問題9をやっていたことがMATLAB単純計算
を述べて「ピタゴラスのトリプレットは、3つの自然数の集合、< B < C、のためであります、
例えばA2 + B2 = C2 、32 + 42 = 9 + 16 = 25 = 52
存在するA + B + C = 1000 が製品を検索対象の正確に一つのピタゴラスのトリプレットabc。 "
以下は私が書いたコードです。しかし、それはコンパイルされますが、生成して出力しません。私は何が間違っているかについてのフィードバックを得ることを望んでいたので、修正することができます。
おかげで、
syms a;
syms b;
syms c;
d= 1000;
d= a + b + c ;
ab= a.^2 + b.^2;
ab= c.^2;
c
*検索*を実行することになっています。また、あなたのコードには自然数の概念はありません。 –
可能なすべての整数をループし、それらが機能するかどうかを確認する必要があります。象徴的な数学パッケージはあなたが望むことをしません。 – rlbond
もっとMatlabのようなやり方(ループの代わりにベクトル化)で行いたい場合は、 'ndgrid'を使って' 1:1000'を行と列に沿って繰り返します。あるいは、 'bsxfun' /暗黙的なシングルトン拡張を使うのが良いでしょう。 'hypot'は便利かもしれません –