三维图颜色渐变问题
mathematica吧
全部回复
仅看楼主
level 5
王西柚🌚 楼主
W = 42*10^-4;(*耗尽层宽度(um)*10^-4->cm*)
Xa = 4*10^-4;(*Subscript[Y, N](um)*10^-4->cm*)
Xb = 4*10^-4;(*Subscript[Y, P:](um)*10^-4->cm*)
Nit = 2*10^11;(*Subscript[界面电荷N, it]:cm^-2*)
Nd = 1 10^15;(*Subscript[N, D]:cm^-3*)
\[Epsilon]0 = 8.85*10^-14;(*真空介电常数:10^-12(F/m)*10^-2->(F/cm)*)
\[Epsilon]1 = 11.9*\[Epsilon]0;(*硅介电常数:F/cm*)
\[Epsilon]2 = 10*\[Epsilon]1;(*硅介电常数:F/cm*)
q = 1.6/10^19;(*电荷q:C*)
Kn = (n*Pi)/W;
Vd = (W^2*q*Nd/2)/(2*\[Epsilon]1);(*Subscript[V, D]*)
Va = (W^2*q*Nd/2)/(2*\[Epsilon]1);(*Subscript[V, A]*)
Vu = (q*W^2*Nd/2)/(2*\[Epsilon]1);(*Vu*)
\[CapitalUpsilon] = (Vd + Va)*4/(n*Pi)^3*((-1)^n - 1);
En1 = \[CapitalUpsilon]/(
Cosh[Kn*Xa]*(1 + \[Epsilon]1/\[Epsilon]2*Tanh[Kn*Xa]*Coth[Kn*Xb]));
Dn1 = -\[CapitalUpsilon]/(
Cosh[Kn*Xb]*(1 + \[Epsilon]2/\[Epsilon]1*Tanh[Kn*Xb]*Coth[Kn*Xa]));
Ex1 = \!\(
\*UnderoverscriptBox[\(\[Sum]\), \(n = 1\), \(200\)]\((En1*Kn*
Sinh[Kn*\((x + Xa)\)]*Sin[Kn*y])\)\);(*N区Ex*)
Ex2 = \!\(
\*UnderoverscriptBox[\(\[Sum]\), \(n = 1\), \(200\)]\((Dn1*
\*FractionBox[\((n*\[Pi])\), \(W\)]*Sinh[Kn*\((x - Xb)\)]*Sin[
\*FractionBox[\(\((n*\[Pi])\)*y\), \(W\)]])\)\);(*HK区Ex*)
Dx0 := \[Epsilon]1*(Ex1) /; x <= 0
Dx0 := \[Epsilon]2*(Ex2) /; x > 0
Plot3D[Dx0, {x, -Xa, Xb}, {y, 0, W}, PlotPoints -> 20,
ColorFunction -> Function[{x, y, D}, Hue[D]], PlotRange -> All,
MaxRecursion -> 1, TicksStyle -> 12,
AxesStyle -> Directive[Black, 16]]
我要实现的是最高点颜色和最低点颜色不一样,就是全部是按高度颜色渐变,现在属于闭合式的那种颜色渐变,求解
2018年04月03日 06点04分 1
level 9
这个很简单,耍一个小把戏就行
倒数第三行改成
ColorFunction -> Function[{x, y, D}, Hue[0.7 D]], PlotRange -> All,
(Hue[D]改为Hue[0.7 D])
2018年04月04日 15点04分 3
这当然是个办法,可为什么非要用颜色会循环的Hue呢……好歹用Rainbow吧,虽然“名声”也没多好……
2018年04月06日 17点04分
@xzcyr Rainbow 的颜色不够鲜艳,Hue 的颜色比较亮丽一些
2018年04月12日 07点04分
1