- X, Y, Z -> x1, y1, z1
- C -> 色情報&値

mizukiさんの書かれているように、もう少し何が何であるのかという説明があれば、回答を得やすくなります。
例えば、
1. 測定値を数値としてp1 = [10, 98, 23] のように記述しておく
2. 記述したコードに何をしようとしたものかのコメントを付ける
3. 何をしたいのかを明確に記述する
など、回答者に問題を理解してもらうために質問内容のリファインをしたほうがよさそうです。
かなり行間を読む努力をすると、
a. (半球上にあるはずの)XYZの直交座標上のデータをXYZ直交座標上にプロットしたい
b. 半球と測定値を重ね書きしたい
c. 三次元直交座標を三次元極座標に変換したい
のうちの何れか、もしくはその組み合わせのように思われますが、どうでしょうか?
参考として、球座標と散布プロットの重ね書きのサンプルは下記のようになります。
[X, Y, Z] = sphere; % 球座標を生成 surf(X, Y, Z, 'FaceColor', 'black', 'FaceAlpha', '0.1'); hold on; % 重ね書き有効 k = randi(21*21, 1); % 球座標上からランダムに1点を抜き出すためのkを生成 scatter3(X(k), Y(k), Z(k), 100, 'MarkerFaceColor', 'red'); hold off; % 重ね書き無効
C のサイズは [110 63] のようでして、想定されているような C が作成できていないのではないかと思いますがいかがでしょうか。
>> size(C)
なお、SURF に色を付けたい場合、入力引数はCのみではなく最低でも二つ必要です。(描画したい値と色の変数) 詳しい使用方法は以下のドキュメントをご参考にしてください。
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!