X Y f 21 45 4.50E-01 21 39 4.50E-01 22 46 4.50E-01 21 31 4.50E-01 21 25 4.50E-01 22 24 0.45 20 46 4.75E-02 21.00 45.2321053 0.45 21 44.8400345 4.50E-01 21 44.6606522 4.50E-01 21 44.3508148 4.50E-01 21 43.7041512 4.50E-01 21 42.4068146 4.50E-01 21 40.670639 4.50E-01 22.007236 39.0728455 4.50E-01 22 46.4337692 4.50E-01 21.9539146 45.6999245 4.50E-01 21.8245602 45.434227 4.50E-01 21.6405773 45.2321053 4.50E-01 21.4521828 45.1080742 4.50E-01 21.2619286 45.0349121 4.50E-01 21.0865746 45.0037537 4.50E-01 21 37.4604988 4.50E-01 21 35.6463318 4.50E-01 21 33.9629593 4.50E-01 21 32.7155151 4.50E-01 21 31.8072739 4.50E-01 21.8686123 30.9459 4.50E-01 21 29.5364704 4.50E-01 21 28.1712418 4.50E-01 21 27.0972404 4.50E-01 21 26.2143383 4.50E-01 21 25.5662842 4.50E-01 21 25.1802902 4.50E-01 21.1502075 24.9886551 4.50E-01 21.3930035 24.9195366 4.50E-01 21.6465435 24.7628765 4.50E-01 21.8392906 24.5436821 4.50E-01 21.9584904 24.2851257 4.50E-01 20.2846222 24.6987381 2.36E-01 20.7573738 24.9701195 3.81E-01 20.9446869 45.0015297 4.27E-01 20.8130207 45.0176353 3.88E-01 20.5383778 45.1129227 3.06E-01 20.3055191 45.2804909 2.30E-01 20.2252884 45.3676834 1.97E-01 20.1977367 45.4030304 1.83E-01 20.1776428 45.4310303 1.74E-01 20.1585255 45.4597015 1.64E-01 20.133955 45.5000343 1.51E-01 20.0563316 45.6691055 1.02E-01 21.8656254 43.0926704 4.50E-01 21.7812004 43.7808723 0.45 21.2216797 44.6766052 0.45 21.3599567 44.9134827 0.45 21.7116566 44.9711227 0.45 21.9401073 44.725956 0.45 21.9212055 45.1420784 0.45 21.5404415 44.9976387 0.45 21.9398232 41.3490257 0.45 21.5472736 44.765831 0.45 21.5179386 44.3136864 0.45 21.1550236 44.9020462 0.45 21.9723816 33.4518661 0.45 21.7236691 31.5223541 0.45 21.9124794 32.3144646 0.45 22.0523205 34.8014908 0.45 21.648035 25.1297436 0.45 21.9322319 24.8675117 0.45 22.021616 25.2606735 0.45 21.9197674 28.7174358 0.45 21.6183758 25.6778183 0.45 21.9837494 27.6462231 0.45 21.7187138 26.7011585 0.45 21.3016033 25.243721 0.45 21.6281891 26.1863308 0.45 20.2532806 26.6364803 3.08E-01 20.4923344 25.6127872 3.28E-01 20.4693279 44.4552307 3.18E-01 20.0611458 45.3602486 1.53E-01 20.0452824 45.3889198 1.46E-01 20.032032 45.3458977 1.48E-01 20.0423832 45.2461967 1.59E-01 20.5548248 44.8751678 3.20E-01 19.9649849 45.3444481 1.35E-01 20.0667 45.4976578 1.36E-01 20.0942211 45.3479156 1.63E-01 20.1328106 45.3750687 1.69E-01 20.0875912 45.3906708 1.56E-01 20.1437569 45.4322205 1.64E-01 20.1575699 45.4060097 1.72E-01 20.1882706 45.3114052 1.91E-01 20.1711597 45.3533287 1.82E-01 20.1582565 45.2417297 1.88E-01 20.1437244 45.2955933 1.80E-01 20.0970211 45.299427 1.68E-01 20.0154095 45.3861847 1.40E-01 20.1118031 45.4503098 1.54E-01 20.0720043 45.4301529 1.47E-01 20.1213436 45.4125175 1.61E-01 20.1378689 45.3304558 1.75E-01 20.065691 45.3312111 1.58E-01 20.0499744 45.3067894 1.56E-01 20.001339 45.3604164 1.40E-01 20.0181427 45.3207512 1.48E-01 19.9863453 45.4271088 1.30E-01 20.1769123 45.3810234 1.80E-01 20.0981846 45.4209137 1.55E-01 20.0322933 45.4392357 1.37E-01 20.1682034 45.022541 2.02E-01 20.7674351 44.7697449 3.86E-01 20.0087757 45.5133514 1.22E-01 21.8234138 43.4367714 4.50E-01 21.1883507 44.7893257 4.50E-01 21.2908173 44.7950439 4.50E-01 21.2574902 44.9077644 4.50E-01 21.4060707 45.0107803 4.50E-01 21.3589249 45.0666351 4.50E-01 21.3109436 44.9741974 4.50E-01 21.825882 44.8485413 4.50E-01 21.9306564 44.9340172 4.50E-01 21.816431 45.0566025 4.50E-01 21.6761169 45.1016159 4.50E-01 21.5905094 45.114872 4.50E-01 21.626049 44.9843826 4.50E-01 21.6808548 40.4831314 4.50E-01 21.5036182 39.8717422 4.50E-01 21.899107 45.5622711 4.50E-01 21.9764881 45.4274445 4.50E-01 21.8728828 45.2881546 4.50E-01 21.7395077 45.3268509 4.50E-01 21.7808914 45.1870918 4.50E-01 21.5498886 45.1647606 4.50E-01 21.4963112 45.0528564 4.50E-01 21.9884109 45.8482018 4.50E-01 22.0248108 45.2813721 4.50E-01 22 46.2168846 4.50E-01 22 46.7226181 4.50E-01 21.6495705 44.0472794 4.50E-01 21.2589684 44.0089188 4.50E-01 21.3906002 43.7425117 4.50E-01 21.8327942 44.256218 4.50E-01 21.9644241 43.9898109 4.50E-01 21.4328117 43.3984108 4.50E-01 21 43.055481 4.50E-01 21.4328117 42.7497406 4.50E-01 21.729023 44.5198212 4.50E-01 21 41.5387268 4.50E-01 21.4699116 41.0098343 4.50E-01 21.4699116 41.8779221 4.50E-01 21.657671 42.2995796 4.50E-01 21 39.8353195 4.50E-01 21.5049343 39.0182343 4.50E-01 21 44.0274811 4.50E-01 21.2589684 44.3322525 4.50E-01 21.1208 44.9528999 4.50E-01 21.0432873 44.9736176 4.50E-01 21.0775108 44.9227676 4.50E-01 21.0433273 45.0009384 4.50E-01 21 44.9717407 4.50E-01 21 44.8917618 4.50E-01 21.0775108 44.8710403 4.50E-01 21.1108398 44.7583199 4.50E-01 21 44.7503433 4.50E-01 21.1108398 44.6686287 4.50E-01 21 44.5057335 4.50E-01 21.1108398 44.51371 4.50E-01 21.3844757 44.7212181 4.50E-01 21.3698082 44.4951477 4.50E-01 21.5326061 44.5397568 4.50E-01 21.4501991 44.9555588 4.50E-01 21.208477 44.9684792 4.50E-01 21.4536152 44.8396568 4.50E-01 21.5438576 44.8817368 4.50E-01 21.6294651 44.8684769 4.50E-01 21.7436905 44.7458954 4.50E-01 21.1749458 45.0154228 4.50E-01 21.8180733 31.9184093 4.50E-01 21.3618355 31.2611771 4.50E-01 21.4351482 30.9864616 4.50E-01 21.7961407 31.234127 4.50E-01 21.4562397 32.5149918 4.50E-01 21.9424305 32.8831635 4.50E-01 21.4861908 33.0836906 4.50E-01 21.6575661 37.5989532 4.50E-01 21.6357422 36.9123688 4.50E-01 22.012352 34.1266785 4.50E-01 21.6357422 36.0052834 4.50E-01 21.5261612 35.2239113 4.50E-01 21.4562397 32.0608673 4.50E-01 21.3618355 31.664814 4.50E-01 21.5036182 38.2666702 4.50E-01 21 38.2302475 4.50E-01 21 31.4036369 4.50E-01 21 32.2613945 4.50E-01 21 36.5534134 4.50E-01 21.4861908 33.7074127 4.50E-01 21 33.3392372 4.50E-01 21 34.8046455 4.50E-01 21.5261612 34.382225 4.50E-01 21.6472893 24.94631 4.50E-01 21.7893867 24.8151932 4.50E-01 21.7901344 24.9986267 4.50E-01 21.9769249 25.0640926 4.50E-01 21.7509575 24.6603508 4.50E-01 21.8857613 24.7055969 4.50E-01 22.0487442 24.4266701 4.50E-01 21.6332054 25.4037819 4.50E-01 21.8348255 25.1952095 4.50E-01 21.8199959 25.4692459 4.50E-01 21.8512306 27.1736908 4.50E-01 21.5205193 25.0246391 4.50E-01 21.5256424 24.8507061 4.50E-01 21.8970222 25.9149132 4.50E-01 21.901825 25.6522789 4.50E-01 21 30.2682343 4.50E-01 21.4343071 30.2411842 4.50E-01 21.9891434 24.5559483 4.50E-01 21.9081402 24.4186687 4.50E-01 21.9895687 24.1440659 4.50E-01 22.035614 24.7178631 4.50E-01 21 25.8903122 4.50E-01 21.3091888 25.6220512 4.50E-01 21.3091888 25.9460793 4.50E-01 21.6734505 26.4437447 4.50E-01 21.3593559 26.4577484 4.50E-01 21.3140945 26.2003345 4.50E-01 21.3593559 26.8992004 4.50E-01 21.4918747 27.3717308 4.50E-01 21.9471931 26.4265823 4.50E-01 21.4598846 29.1269531 4.50E-01 21 28.8538551 4.50E-01 21.4598846 28.4443398 4.50E-01 21.5573349 29.5105209 4.50E-01 22.0172176 29.1010017 4.50E-01 21.9517593 28.1818295 4.50E-01 21 25.0901451 4.50E-01 21.0753174 24.99716 4.50E-01 21.0751038 25.0844727 4.50E-01 21.5497398 29.8366528 4.50E-01 21.3473034 25.0816288 4.50E-01 21.4748192 25.1867332 4.50E-01 21.9840469 30.5413666 4.50E-01 21.2259064 25.116188 4.50E-01 21.2737961 24.9617882 4.50E-01 21.1508026 25.2120056 4.50E-01 21.4599895 25.4607697 4.50E-01 21.1508026 25.4050026 4.50E-01 21 25.3732872 4.50E-01 21.4918747 27.9087334 4.50E-01 21 27.6342411 4.50E-01 21.6232834 25.9320755 4.50E-01 21 26.6557884 4.50E-01 21.9019299 26.1691704 4.50E-01 20.8786869 25.0752048 4.15E-01 20.8777695 24.9925022 4.16E-01 20.7461662 25.5895348 3.88E-01 20.7461662 25.3965378 3.85E-01 20.624855 25.2914543 3.50E-01 20.3884773 25.1557617 2.84E-01 20.3106804 28.1619911 3.39E-01 20.3106804 27.6249905 3.33E-01 20.6266403 26.8668594 3.78E-01 19.9373207 27.3946114 2.73E-01 20.3728065 26.1246338 3.18E-01 20.7461662 25.9135628 3.92E-01 20.3106804 28.8446045 3.46E-01 19.9509277 30.9209423 3.15E-01 19.9627762 30.1110134 3.11E-01 20.6266403 26.4254093 3.73E-01 20.5021496 24.8672638 3.11E-01 20.073885 24.3772411 1.58E-01 20.3318176 33.3557549 3.69E-01 20.0661659 34.2924271 3.40E-01 20.3318176 32.7320328 3.68E-01 20.3318176 32.2779121 3.66E-01 20.0661659 35.1341095 3.40E-01 20.1656075 36.1329689 3.51E-01 20.1656075 37.0400543 3.49E-01 19.9627762 31.2464142 3.19E-01 20.053215 45.3745842 1.50E-01 20.0386581 45.3674088 1.47E-01 20.0465889 45.3530731 1.51E-01 20.6839218 44.9464035 3.55E-01 20.6722183 45.0552483 3.47E-01 20.5466003 44.9940453 3.12E-01 20.2368622 45.151516 2.14E-01 20.2318878 45.2611084 2.08E-01 20.1632309 45.1321335 1.95E-01 20.1003189 45.2439651 1.73E-01 20.1052933 45.1343689 1.81E-01 20.388958 43.6091232 3.25E-01 20.7346649 44.079689 3.90E-01 20.1236229 43.9846649 2.57E-01 20.0209389 41.2530212 3.06E-01 20.0209389 42.121109 2.94E-01 20.9723434 44.920784 4.41E-01 20.8785858 45.0073967 4.08E-01 20.9065094 44.928833 4.22E-01 19.9554901 45.5235062 1.12E-01 19.9975605 45.4702301 1.26E-01 20.2067795 45.3395462 1.94E-01 20.1982231 45.3605042 1.89E-01 20.1797142 45.3323669 1.87E-01 20.2468948 45.295948 2.10E-01 20.2641106 45.3228989 2.13E-01 20.9723434 44.9725075 4.39E-01 20.1135159 45.3614922 1.66E-01 20.1102009 45.3828697 1.62E-01 20.0909061 45.3692932 1.59E-01 20.1506634 45.4191132 1.68E-01 20.1676064 45.4185181 1.73E-01 20.1606998 45.4316254 1.69E-01 20.1548615 45.3780441 1.74E-01 20.1519852 45.3641968 1.75E-01 20.174036 45.3671761 1.81E-01 20.6183815 44.6124878 3.50E-01 20.7346649 44.5579414 3.83E-01 20.8837166 44.7151985 4.20E-01 20.8837166 44.8048897 4.19E-01 20.7902279 44.893692 3.88E-01 20.3532906 45.0677338 2.51E-01 20.4159069 45.1883125 2.67E-01 20.1003265 45.498848 1.43E-01 20.0912037 45.5827599 1.24E-01 20.0615158 45.5833817 1.18E-01 20.1509895 45.2686615 1.84E-01 20.1203728 45.2975082 1.74E-01 20.1276398 45.2705765 1.78E-01 19.975666 45.3857803 1.32E-01 19.9831619 45.3524323 1.37E-01 19.9938431 45.3937607 1.35E-01 20.972332 45.0003815 4.36E-01 20.0892525 45.4739838 1.44E-01 20.0693512 45.4639053 1.41E-01 20.0919037 45.4402313 1.50E-01 20.1679611 45.445282 1.69E-01 20.1511421 45.445961 1.64E-01 20.2010994 45.3743515 1.88E-01 20.2113152 45.3852043 1.90E-01 20.1873245 45.3920288 1.82E-01 20.1672401 45.3935165 1.76E-01 20.1451912 45.3905411 1.70E-01 20.1776543 45.4045181 1.77E-01 20.1875687 45.4169426 1.79E-01 20.1270771 45.3937912 1.65E-01 20.1394577 45.4092636 1.66E-01 20.1732635 45.2765656 1.90E-01 20.122879 45.475174 1.53E-01 20.1165733 45.4314117 1.58E-01 20.1325493 45.4223709 1.63E-01 20.1277809 45.4412651 1.59E-01 20.1545143 45.3418922 1.79E-01 20.1630707 45.3209305 1.83E-01 20.0928879 45.4057922 1.55E-01 20.1044674 45.4015961 1.59E-01 20.1097641 45.4167175 1.58E-01 20.1353397 45.3527603 1.72E-01 20.0743675 45.3754578 1.55E-01 20.0664368 45.3897934 1.51E-01 20.1659966 45.3034973 1.86E-01 20.1407967 45.3130264 1.78E-01 20.0956211 45.3236694 1.65E-01 20.117445 45.3149414 1.72E-01 20.116045 45.3391876 1.69E-01 20.1049938 45.4356117 1.54E-01 20.0850945 45.4255333 1.51E-01 20.0799561 45.3395615 1.60E-01 20.0776825 45.3540802 1.58E-01 20.0634193 45.3457298 1.56E-01 20.0734978 45.3031082 1.62E-01 20.081356 45.3153191 1.63E-01 20.0578327 45.3190002 1.57E-01 20.0697021 45.2728119 1.64E-01 20.0387878 45.4140778 1.42E-01 20.0586433 45.4095383 1.47E-01 20.0521488 45.4346924 1.42E-01 20.0797977 45.4104118 1.52E-01 20.0238514 45.4127121 1.39E-01 20.0303459 45.3875504 1.43E-01 20.0488625 45.3385544 1.53E-01 20.0166855 45.353157 1.44E-01 20.0237198 45.3660431 1.44E-01 20.0083733 45.3732986 1.40E-01 19.9915638 45.3325996 1.41E-01 20.003685 45.2953224 1.47E-01 20.030262 45.283474 1.54E-01 20.0097408 45.3405838 1.44E-01 20.0410042 45.3263435 1.52E-01 20.0250874 45.3333244 1.48E-01 20.0340576 45.3137703 1.52E-01 20.0461788 45.2764931 1.58E-01 20.0093193 45.4331741 1.33E-01 20.0008774 45.4066467 1.35E-01 19.9978905 45.1328735 1.56E-01 19.9792671 45.6013794 1.03E-01 20.014183 45.8321724 7.03E-02 19.9511013 45.7668304 7.62E-02 20.0205345 45.4762955 1.30E-01 20.361515 44.9488525 2.58E-01 20.7346649 44.4030228 3.86E-01 20.3187656 44.738884 2.58E-01 20.5120773 44.6651993 3.18E-01 20 46.7143631 2.23E-02 20.1351643 45.4550056 1.59E-01 20.1460018 45.4797249 1.58E-01 19.9496841 44.5972824 1.83E-01 20.388958 42.9604568 3.38E-01 20.0494957 45.4684448 1.36E-01 20.0377388 45.5055046 1.28E-01 20.661129 44.8224564 3.54E-01 20.0325546 45.5912285 1.12E-01 clear all; close all; clc; load disppoints.txt; %load the X Y and displacement points. data = disppoints; numpoints = length(data); % Number of Points dim=2; % 2 Dimensional data global RBFtype RBFtype=5 datapoints= [data(:,1) data(:,2)]; % Data points x y in [-3,3]*[-3,3] for interpolation disp=data(:,3); % Data to be approximated coefficients= rbfsolver(datapoints,disp); % RBF coefficients approxdisp=rbfeval(datapoints, datapoints, coefficients) % Approximated displacements function coeff = rbfsolver(xypoints, values) [numpoints,dim] = size(xypoints); coeff=(rbf(pointstodistances(xypoints))+eye(numpoints,numpoints))\values; % RBF constant = inverse(rbf)*given values (displacements) end function distancematrix = pointstodistances(xypoints) [numpoints,dim]=size(xypoints) % Get dimensions distances = xypoints*xypoints' ; %ineer product between points lsq=diag(distances); %vectoe of squares of points distancematrix = sqrt(repmat(lsq,1,numpoints)+repmat(lsq,1,numpoints)'-2*distances); % distance matrix r of Radial Basis Function end function y = rbf(r) global RBFtype; % 1=Multiquadric, 2=Guassian, 3=Inverse Multiquadric, 4=Wendland, 5= Thin Plate Spline if RBFtype ==1 y=(1+r.*r).^(1/2); % Multiquadric return; end if RBFtype ==2 y=exp(-r.*r); %Guassian return; end if RBFtype ==3 y=(1+r.*r).^(-1/2); % inverse multiquadric return; end if RBFtype ==4 y=(1+4*r).*max(0,(1-r)).^4; %Wendland return; end if RBFtype ==5 y = r.*r.*log(r+eps); %TPS return; end error('NOT a Radial Basis Function') function values = rbfeval(evalpoints, datapoints, coeff) [numeval, evaldim] = size(evalpoints); [numdata, datadim] = size(datapoints); [numcoeff, coeffdim] = size(coeff); if evaldim~=datadim error('Dimension is not equal') end if numcoeff~=numdata error('datapoints and coefficients much match') end if coeffdim~=1 error('Coefficients must be a vector') end evalsquares = sum(evalpoints.^2,2); datasquares = sum(datapoints.^2,2); phimat= rbf(sqrt(repmat(evalsquares,1,numdata)+repmat(datasquares,1,numeval)'-2*evalpoints*datapoints')); values = phimat*coeff; end