Category: Firemonkey

Should the Software – HubSpot Inc (HUBS) Application Stock be in your portfolio on Thursday?

  


HubSpot Inc (HUBS) is at the top of the software industry – applications according to InvestorsObserver. HUBS received an overall rating of 48, meaning it scores above 48% of all actions. HubSpot Inc also scored 86 in the Software – Apps sector, which puts it above 86% of the Software – Apps stock. Software – Application is ranked 132 out of 148 industries.

HUBS has an overall score of 48. Find out what this means for you and get the rest of the rankings on HUBS!

What do these notes mean?
Finding the best stocks can be tricky. It is not easy to compare companies from one sector to another. Even companies that have relatively similar activities can sometimes be difficult to compare. InvestorsObserverThe tools allow for a top-down approach that lets you pick a metric, find the best sector and industry, and then find the best stocks in that sector. Our proprietary rating system captures technical factors, fundamental analysis and the opinions of Wall Street analysts. This makes
InvestorsObserver
The overall rating of is a great way to get started, regardless of your investing style. Scores ranked in percentiles are also easy to understand. A score of 100 is high and a 0 is low. There’s no need to try to remember what’s “good” for a bunch of complicated ratios, just pay attention to the higher numbers.
What’s going on with HubSpot Inc stocks today?
HubSpot Inc (HUBS) stock is trading at $438.46 as of 10:48 a.m. Thursday, January 27, up $8.28, or 1.92% from the previous closing price of $430.18 . The stock has traded between $436.53 and $450.78 so far today. Volume today is less active than usual. So far, 111,003 shares have been traded with an average volume of 879,640 shares. Click here for the full HubSpot Inc. stock report.

Read More

Transform your software development strategy: three steps to avoid DevOps pitfalls

  

Eager to drive digital transformation, many companies today jump into software development without proper preparation, resulting in poor quality products and wasted time and money. They can increase software development success in three key steps, says Aaron Bruce, director of engineering at Synapse Studios.
Many companies today are banking on successful software development to gain momentum, especially for companies embarking on broad digital transformation journeys. But too often, they go into building software without proof that they are likely to succeed. The result is a shoddy product that does more harm than good.
Unsuccessful software development is more than annoying – it’s a massive drain on the industry. Software development costs associated with unsuccessful development projects were estimated at $260 billion, 46% more than in 2018. Similarly, the failure rate is around 19%. Executives know they need to reduce software development costs, but struggle to understand how.
What is behind this disconnection? The traditional answer is that software quality and development speed are mutually exclusive, an idea summed up by the adage “Fast, cheap, good – pick two”.
In my experience, however, that’s not the real culprit. It is a failure to carefully consider ideas before development. Lack of verification of proposed features leads to massive swelling of software development scope with dubious ideas that should have been discarded earlier.
Navigate DevOps Challenges
Much of the problem can be attributed to below average DevOps adoption. Many organizations have the wrong idea of ​​what DevOps is and how it should work, adopting the practice in name only. Leaders can simply rebrand old operations teams as DevOps teams or create new “DevOps” teams and make them responsible for infrastructure and deployment automation.
However, genuine (and valuable) DevOps resolves organizational silos and misaligned incentives around deploying software in production. It is a practical philosophy and a set of supporting technical and management practices. It also aims to eliminate silos and inefficient handoffs between development and operations teams. The philosophy stems from lean management theory, focusing on end-to-end workflow, waste minimization and continuous improvement.
When companies understand and implement the right DevOps function, they can quickly focus their energy on what matters most: how do you add value to customers’ lives? What are the things we do that add less value than we thought? How do we develop a system to learn what our customers need in the most economical way possible so that we don’t waste time on things that won’t work?
3 steps to transform your software development approach
Start with these steps to improve DevOps practices, reduce costs, and increase software development success:
1. Build the right thing first
The first step is simple but often overlooked: make sure you’re building the right software. When companies skip this step, they defeat DevOps from the start. In general, software is the most expensive way to solve a given problem. If you build custom software without being very sure that it will solve the problem in question, you will probably be part of the failure rate.
The software must solve the real problem for the business or the customer, or it doesn’t justify the cost. If you develop a culture of creating products that don’t generate value, it doesn’t matter if the software is high quality or technically sound – it still won’t benefit anyone. Instead, develop a product culture to build validated ideas before you’re ready and willing to invest in building value-generating software. Marty Cagan’s book, “Inspired: How to Create Tech Products Customers Love,” is a great product guide. It covers how to build strong teams, determine the right products, develop effective processes, and create the culture you need to drive successful products.
2. Assess and improve your managerial culture
The next step is to ensure that your culture allows for autonomy and trust between development teams and management. Suppose developers have to go through the bureaucratic approval process typical of enterprise software development every time they want to fix something. In this case, they will never reach the level of continuous improvement that is at the heart of the DevOps function.
Also, developers can’t proficiently build things with heavy cognitive load or constant context switching. As businesses prioritize digital transformation to stay competitive, they are demanding more of scarce and overused resources. Piling on more work than developers can effectively handle interrupts productivity, causes missed deadlines, and pushes developers ever closer to burnout.
We need to give developers the space to think about solutions and innovate without interruption. Foster an engineering-focused culture by optimizing internal processes to reduce context switching and fostering an environment in which innovation thrives. Look for efficiency and noise reduction in your communication. And, where possible, use asynchronous communication to prevent individual project contributors from being tied to schedules full of planned disruptions. Instead, allow for deep focus and effective time management. Also, try to limit individuals’ project commitments to the minimum possible, usually only one project at a time.
You can also promote a culture of continuous improvement and innovation by focusing on employee development. Development opportunities keep your developers informed and improve recruitment and retention processes. An August 2021 survey by Amdocs of 1,000 American workers showed that about two-thirds of employees would leave their jobs if they were denied such learning opportunities. And retention increases software success rates because companies maintain long-term institutional knowledge of projects and customers.
3.Take the time to go fast
It may seem counter-intuitive, but if you want to develop great software fast, you have to start slow. It’s like the saying of the tree chopping contest – the winner spends most of their time sharpening their axe. You need to create an error-proof system even if the initial cost is high. Building it will take a lot of time and money, and will require ongoing maintenance and alignment with best practices and tools.
The metrics companies need to track to ensure their systems stay strong enough are the DORA metrics: change failure rate, change turnaround time, service restoration time, and deployment frequency. Essentially, you need to see how many changes you have made to systems versus how many changes have failed. If you determine that many of your edits are not successful, you want to do something about it.
Determine if your organization 1) doesn’t know it should track this data, 2) doesn’t know how to track it, or 3) does nothing about this information. In these cases, software management and delivery will tend to deteriorate over time, as costs increase with each change-fail-change-fail cycle that is not informed by data-based insights. data.
It is necessary to maintain the quality of the system by tracking and responding to data. That’s what DevOps is for: automating testing and deployment, deploying frequently, and constantly observing performance.
Learn more: DevOps Roadmap: A Complete 7-Step Guide
There is no reason to delay setting up your DevOps ducks immediately. It’s just a matter of commitment and vision. With trust in people, good ideas, an innovative culture and error-proof systems, you will enable your teams to build successful projects, reduce software development costs and reap the benefits for years to come.
Has your organization ever deployed any of these steps for more innovative software development? Let us know all about LinkedIn, Twitter, Where Facebook. We are always listening!

Read More

Audio plug-in software application market size by 2029

  

New Jersey, United States,- the Audio Plug-in Software Application Market The report emphasizes on detailed understanding of some crucial factors such as size, share, revenue, forecasted trends, supply, production, demand, industry, and CAGR to provide an in-depth perspective of the world market. In addition, the report also highlights challenges impeding market growth and expansion strategies of major companies in the “Audio Plugin Software Application Market”.
The Audio Plug-in Software Application Market research report analyzes major players in key regions such as North America, South America, Middle East & Africa, and Asia region -Peaceful. It provides insights and expert analysis on key market trends and consumer behavior, as well as insight into market data and key brands. It also provides all the data with easy-to-digest information to guide every businessman’s future innovation and drive the business forward.
Get Sample Full PDF Copy of Report: (Including Full TOC, List of Tables & Figures, Chart) @ https://www.verifiedmarketreports.com/download-sample/?rid=513929
Key Players Mentioned in the Audio Plug-in Software Application Market Research Report:
Universal Audio, Waves, Avid, Steinberg, Apple
Audio Plug-in Software Application Market Segmentation:
By Product Type, the market is primarily split into:
• The Windows• iOS•Android
By application, this report covers the following segments:
• Professional• Hobbyists
The audio plug-in software application market is segmented on the basis of product type, application, and geography. All segments of the Audio Plug-in Software Application Market are carefully analyzed based on market share, CAGR, value and volume growth, and other significant factors. The report also provides precise estimates on CAGR, revenue, production, sales, and other calculations for the Audio Plug-in Software Application market. Each regional market is studied in detail in the report to explain why some regions are growing at a high rate while others at a slow rate. We have also provided Porter’s Five Forces and PESTLE analysis for further study of the Audio Plug-In Software Application market.
Get a discount on the purchase of this report @ https://www.verifiedmarketreports.com/ask-for-discount/?rid=513929
Scope of the Audio Plug-in Software Application Market Report

ATTRIBUTES
DETAILS

ESTIMATED YEAR
2022

YEAR OF REFERENCE
2021

FORECAST YEAR
2029

HISTORICAL YEAR
2020

UNITY
Value (million USD/billion)

SECTORS COVERED
Types, applications, end users, and more.

REPORT COVER
Revenue Forecast, Business Ranking, Competitive Landscape, Growth Factors and Trends

BY REGION
North America, Europe, Asia-Pacific, Latin America, Middle East and Africa

CUSTOMIZATION SCOPE
Free report customization (equivalent to up to 4 analyst business days) with purchase. Added or changed country, region and segment scope.

Geographic segment covered in the report:
The Audio Plug-in Software Application report provides information on the market area, which is sub-divided into sub-regions and countries/regions. In addition to the market share in each country and sub-region, this chapter of this report also contains information on profit opportunities. This chapter of the report mentions the market share and growth rate of each region, country and sub-region over the estimated period.
• North America (USA and Canada)• Europe (UK, Germany, France and rest of Europe)• Asia-Pacific (China, Japan, India and the rest of the Asia-Pacific region)• Latin America (Brazil, Mexico and rest of Latin America)• Middle East and Africa (GCC and Rest of Middle East and Africa)
Answers to key questions in the report:
1. Who are the top five players in the audio plug-in software application market?
2. How will the audio plug-in software application market develop in the next Five years?
3. Which products and applications will occupy the lion’s share of the audio plug-in software application market?
4. What are the Audio Plug-In Software Application Market Drivers and Restraints?
5. Which regional market will show the strongest growth?
6. What will be the CAGR and size of the audio plug-in software application market throughout the forecast period?
For more information or query or customization before buying, visit @ https://www.verifiedmarketreports.com//audio-plug-in-software-application-market-size-and-forecast/

Visualize the Audio Plug-in Software Application Market Using Verified Market Intelligence:-
Verified Market Intelligence is our BI platform for market narrative storytelling. VMI offers in-depth forecast trends and accurate insights on over 20,000 emerging and niche markets, helping you make critical revenue-impacting decisions for a bright future.
VMI provides a global overview and competitive landscape with respect to region, country and segment, as well as key players in your market. Present your market report and results with an integrated presentation function that saves you more than 70% of your time and resources for presentations to investors, sales and marketing, R&D and product development. products. VMI enables data delivery in Excel and interactive PDF formats with over 15+ key market indicators for your market.
Visualize the audio plug-in software application market using VMI@ https://www.verifiedmarketresearch.com/vmintelligence/
Most Popular Reports

Global Audio Plug-in Software Application Market Size and Forecast
Global Online Support Services Market Size and Forecast
Global CAD or CAM Software Market Size and Forecast
Global Data Preparation Tools Market Size and Forecast
Global IP Core Chips Market Size and Forecast
Global WiFi Analytics Solutions Market Size and Forecast
Global Commercial Dosimetry Services Market Size and Forecast
Global dosimetry services market size and forecast
Global Phishing Protection Market Size and Forecast
Global Shift Register Market Size and Forecast

About Us: Verified Market Reports
Verified Market Reports is a leading global research and advisory company serving over 5000 global clients. We provide advanced analytical research solutions while delivering information-enriched research studies.
We also provide insight into the strategic and growth analytics and data needed to achieve business goals and critical revenue decisions.
Our 250 analysts and SMEs offer a high level of expertise in data collection and governance using industry techniques to collect and analyze data on over 25,000 high impact and niche markets. Our analysts are trained to combine modern data collection techniques, superior research methodology, expertise and years of collective experience to produce informative and accurate research.
Our research spans a multitude of industries, including energy, technology, manufacturing and construction, chemicals and materials, food and beverage, and more. Having served many Fortune 2000 organizations, we bring a wealth of reliable experience that covers all kinds of research needs.
Contact us:
Mr. Edwyne Fernandes
USA: +1 (650)-781-4080UK: +44 (753)-715-0008APAC: +61 (488)-85-9400US toll free: +1 (800)-782-1768
E-mail: sales@verifiedmarketreports.com
Website: – https://www.verifiedmarketreports.com/

Read More

Drawing a line in a Bitmap using X and Y coordinates

  

I have a transparent bitmap containing a thin line only. I’ve extracted the X,Y coordinates using TBitmapData in Delphi FMX. I have the X and Y coordinates of each pixel of the line in the Bitmap. My question is how to Draw again the same line in that Bitmap using the X,Y coordinates with a different color ? Or perhaps plotting it in an empty Bitmap

Read More

Delphi 10.4.2 and IOS SDK 15.2

  

I’m using Delphi 10.4.2 and have done an iOS SDK update to version 15.2.
I am using a server in MacInCloud with macOS Monterey to compile.
During compilation I get the following error:
[DCC Error] E2597 ld: warning: directory not found for option ‘-FC:UserDocumentsEmbarcaderoStudioSDKsSystemLibraryPrivateFrameworksDocumentManager.framework’
ld: file not found: /usr/lib/system/libcache.dylib for architecture arm64
[DCC Fatal Error] F2588 Linker error code: 1 ($00000001)

What can be done about it ?

Read More

Tucows launches Wavelo, a new software company designed to revolutionize the capabilities of communications service providers

  

Wavelo powers the evolution of telecommunications with dedicated, event-driven software
TORONTO, January 25, 2022 /CNW/ – Tucows (NASDAQ: TCX) (TSX: TC), a global leader in Internet services, today announced the launch of its newest venture, Wavelo. The new company provides accessible telecommunications software to Communications Service Providers (CSPs) around the world, minimizing network barriers and improving Internet access worldwide.

Wavelo is on a mission to make telecommunications child’s play. (CNW Group/Tucows Inc.)

Wavelo is being launched at a critical time for the global telecommunications industry, where providers are competing to deliver more value from their established networks. Wavelo’s flexible cloud-based software suite simplifies mobile and internet network access management, enabling CSPs to better utilize their existing infrastructure, focus on customer experience and scale their businesses faster.
“In today’s competitive landscape, carriers need options from their software. They deserve solutions that keep pace with their network’s innovation and are flexible enough to integrate seamlessly into their existing operations,” said Justin Reilly, CEO of Wavelo. “Wavelo was launched to do just that. Our cloud-native, event-driven software is the first of its kind and will drive growth and value for operators, ultimately making connectivity easier for more humans around the world.”
Wavelo offers two full-service platforms – Internet Service Operating System (ISOS) and Mobile Network Operating System (MONOS) – which provide customizable solutions for Internet Service Providers (ISPs) and Mobile Network Operators (MNOs), respectively. Additional a la carte services are also offered, supporting businesses in everything from subscription and billing management, to orchestration and network provisioning, to individual developer tools, etc
“Tucows is a global leader in Internet services and SaaS solutions. We have been in the telecommunications industry for over twenty-five years and have always been baffled by the complexity of traditional software,” said Elliot Noss, CEO of Tucows. “Modern software is needed to propel growth in this space, especially as communications service providers tackle the last 30% of digital transformation. That’s exactly what Wavelo will enable. This software is used in the Tucows portfolio for years and we are proud to officially consolidate these solutions into a standalone company.”
The story continues
Wavelo launches as a proven asset to CSPs, with DISH using Wavelo’s MONOS software to drive additional value within its digital operator platform since early 2021. More recently, Ting Fiber has also integrated Wavelo’s ISOS software Wavelo to enable faster subscriber growth and footprint expansion.
Wavelo is now Tucows’ third private company, with Ting Internet and Tucows Domains.
To learn more about Wavelo, its mission and its complete software suite, go to www.wavelo.com.
About Wavelo
Wavelo provides a full suite of flexible, cloud-based software that simplifies mobile and internet network access management, provisioning, billing and subscription, developer tools, and more. Its software helps communications service providers minimize technology and network barriers to improve Internet access worldwide. Wavelo makes telecom child’s play.
About Tucows
Tucows helps connect more people to the benefit of internet access through communication services technology, domain services and fiber optic internet infrastructure.
Ting (https://ting.com/internet) provides fixed fiber Internet access with exceptional customer support. Wavelo is a telecommunications software suite for service providers that simplifies mobile and Internet network access management, provisioning, billing and subscription, developer tools, and more. OpenSRS (https://opensrs.com), Enum (https://www.enom.com) and Ascio (https://ascio.com) together manage approximately 25 million domain names and millions of value-added services through a global reseller network of more than 36,000 web hosts and ISPs. Hover (https://hover.com) makes it easy for individuals and small businesses to manage their domain names and email addresses. More information can be found on the Tucows website (https://tucows.com).

Wavelo powers the evolution of telecommunications with purpose-built, event-driven software. (CNW Group/Tucows Inc.)

SOURCE Tucows Inc.

Quote

View original content to download multimedia: http://www.newswire.ca/en/releases/archive/January2022/25/c2069.html

Read More

How can enable HotSpot on android device by delphi code

  

By this delphi code I can enable wifi on android device.
var WiFIServiceNative: JWifiManager;

begin
WiFIServiceNative :=
JWifiManager.Wrap(TAndroidHelper.Context.getSystemService(TJContext.JavaClass.WIFI_SERVICE));
if Assigned(WiFIServiceNative) then
TJWifiManager.JavaClass.WIFI_STATE_ENABLED
end;

How can enable hotspot by delphi code.

Read More

Some uptime monitoring tools that are still free and understand more than http/https

  

Since uptimerobot has slowly moving free features, part of my family uses it to monitor uptime of their personal stuff, and I don’t want to pay for the free monitoring I do on Embarcadero infrastructure (I know that they have been phasing out older useful sites for ages, but even their main sites were down for 2 days about a year ago).
Yes, I know the competitiveness of [Wayback] Website monitoring – Wikipedia, and I’m glad Uptimerobot has been there for a relatively long time, but alas: for personal use…
The list of of the pricing pages of each site, containing a one line summary blurb if it was available:

[Wayback] Freshping – Pricing
Freshping FREE plan ✓ 50 URL checks ✓ 1-minute interval ✓ FREE Public status pages. Need more? Check out the enterprise plan.

[Wayback] Pricing | Checkly
50k API check runs / mo, 5k browser check runs / mo, 5 users, basic features

[Wayback] StatusCake – Try it Today!
Basic, FREE, 10 Uptime Monitors, 5 Minute Tests

[Wayback] pricing | Happy Apps
Free: 3 Checks, 5 minute min. monitoring interval, All check types, 3 days history max, 0 sms alerts, ∞ email alerts, SSH Only

Via [Wayback] 16 Best Online Services to Monitor Sites Uptime
Related: [Wayback] EmbarcaderoMonitoring: www http
–jeroen

Read More

Problem on Android 12 when closing and restarting App

  

Based on this code, I close my App for some reason and then run it again. This works perfectly on Android below 10.
But on Android above 10, my App doesn’t restart again.
All permissions are granted for Android 12 at design-time and run-time.
procedure ReStartApp;
var
LPM : JPackageManager;
LIntent_Start : JIntent;
LPendingIntent : JPendingIntent;
LMS : Int64;
begin
LPM := TAndroidHelper.Context.getPackageManager();
LIntent_Start := LPM.getLaunchIntentForPackage(
TAndroidHelper.Context.getPackageName()
);
LIntent_Start.addFlags( TJIntent.JavaClass.FLAG_ACTIVITY_CLEAR_TOP );

LPendingIntent := TJPendingIntent.JavaClass.getActivity(
TAndroidHelper.Context,
223344 {RequestCode},
LIntent_Start,
TJPendingIntent.JavaClass.FLAG_CANCEL_CURRENT
);
LMS := DateTimeToUnix( Now, False {InputIsUTC} ) * 1000;

TAndroidHelper.AlarmManager.&set(
TJAlarmManager.JavaClass.RTC,
LMS + 10000,
LPendingIntent
);
// TAndroidHelper.Activity.finish();
Application.Terminate;
end;

Read More

App freezes when uploading pictures to server

  

I made an app only to take photos and send these to the server. in those photos, I edit the date in the right bottom corner. If a user takes more than 9 photos the app freezes in the process and asks if you want to close the app. You can choose between close app or wait. Click on wait and the process works all the photos saved to the server. But it’s annoying and not professional to get this message. Below is the code and maybe some of you can spot the mistake I made.
I use the Tcameracomponent for making photos.
A TMSFMXtableview(TV1) to show the photos in the app.
And I use the Timage for linking to the Tcameracomponent.
This is the code for the save button onclick.
procedure TFMmain.Button10Click(Sender: TObject);
VAR
B: TBitmap;
R : TRectf;
LMemStream: TMemoryStream;
i2,I,AN, NewWidth, NewHeight : Integer;
lExtensie : string;
Scale : double;
Fid : Integer;
begin
Cameracomponent1.Active := false;
button11.Visible := false;
button10.Visible := true;

if TV1.Items.Count>0 then
begin
for I := 0 to tv1.Items.Count-1 do
begin
B:= TV1.Items.Items[i].Bitmap;
R.Create(B.Width – 250, B.Height – 100, B.Width, B.Height);
B.Canvas.BeginScene;
try
B.Canvas.Font.Size := 40;
b.Canvas.Fill.Color := TAlphaColorRec.red;
B.Canvas.FillText(
R, DateToStr(Now), False, 100, [TFillTextFlag.RightToLeft],
TTextAlign.Center);
finally
B.Canvas.EndScene;
end;
LMemStream := TMemoryStream.Create;
try
TV1.Items.Items[i].Bitmap.SaveToStream(LMemStream);
storedprocFotoUp.Params[0].AsStream :=LMemStream;
LMemStream.Position := 0;
storedprocFotoUp.ExecProc;
finally
Lmemstream.Free;
end;
end;
tv1.Items.Clear;
button11.Visible := true;
button10.Visible := true;
Cameracomponent1.Active := true;
end
else
begin
button11.Visible := true;
button10.Visible := true;
Cameracomponent1.Active := true;
end;
end;
end;

The storedprocfotoup is a procedure on the server side.
Procedure TServermodule.SavePhotoToServer(Stream: TStream);
const
BufSize = $8000;
var
Today : TDateTime;
Mem: TMemoryStream;
BytesRead, Vnr,Fnr: Integer;
Buffer: PByte;
fFilename, lExtensie, DT, Time: String;
begin
Today := NOW;
Flocation:= ‘C:\test\’;
lExtensie := ‘.jpg’;
Time:= IntToStr(Yearof(Today))+IntToStr(Monthof(Today))+IntToStr(Dayof(Today))+IntToStr(Hourof(Today))+ IntToStr(Minuteof(today))+ IntToStr(MilliSecondof(today));
fFilename := ‘F’+Tijd+lExtensie;

// save file to server

Mem := TMemoryStream.Create;
Mem.Position :=0;
GetMem(Buffer, BufSize);
try
repeat
BytesRead := Stream.Read(Pointer(Buffer)^, BufSize);
if BytesRead > 0 then
Mem.WriteBuffer(Pointer(Buffer)^, BytesRead);
until BytesRead < BufSize;
Mem.SaveToFile(Flocation+fFilename);

finally
FreeMem(Buffer, BufSize);
Mem.Free;
end;
end;

I hope I provided enough information.

Read More

What is the best component on Delphi firemonkey for review conversation saved on database (like WhatsApp or Telegram)? [closed]

My App create on Delphi firemonkey and it has IM for showing conversation like WhatsApp and Telegram.
Database is SQLite and data conversation consist of text, photo, video and ….
I construct my component with scrollbox and frame but this method isn’t very adaptive and comfort.
How can review this data on chat by native or third party component.

Read More

Read More

Advanced Curve Fitting with FNC Math Components



New version 3.2 of TMS Analytics & Physics
library
introduced FNC components for creating math applications with minimal
code writing. The previous
article
described how to implement curve fitting. In this article, we’ll
continue the theme and explain some advanced features for function
approximation.

Generally, we use some standard basis
functions for curve fitting: Fourier basis (sine and cosine functions),
polynomials, exponent functions, and so on. In rare cases, we need specific basis
functions to approximate the data. The TMS FNC math components provide a
straightforward way to create a basis with any set of functions. Moreover, we
can develop and test the basis right in design time.

The component for creating a basis with a
set of user-defined functions is TFNCLinearBasis1D.
The component provides the following published properties:

  • Variable (TVariableProperty) – provides the name of the variable for the basis functions.
  • Coefficient (TVariableProperty) – provides the name of the coefficient for the fitting problem.
  • Order (integer) – number of basis functions for approximation (read-only).
  • Expression (string) – math expression of the constructed function (read-only).
  • Parameters (TParameterCollection) – a set of parameters for parametric basis functions.
  • Functions (TParameterCollection) – a set of functions to construct the basis.

The two last properties provide the functionality to construct an
arbitrary basis. With the
Parameters
property, you can add named values into the math environment and then use them
to parametrize the set of basis functions. The
Functions property allows to add, edit, and delete functions via
standard Delphi collection editors. The collection contains items of
TFormulaProperty type. When you add an
item to the collection you can edit it with the Object Inspector as shown in
the picture below. 



The class TFormulaPropery has several properties and a built-in mechanism to check the function for correctness. If you input a math expression that is not valid in the current context, the Error property will indicate what is wrong in the formula. An example is shown in the following picture.



For our example, we created the collection with three basis functions: ‘1’, ‘log{2}(x/A)’ (logarithm to the base 2), and ‘P{3 2}(x/A)’ (associated Legendre polynomial of 3-rd degree and 2-nd order). Then, following the instructions described in the previous article, we added a data source, an approximated function, and a plotter to draw the function on the FNC chart. The final resulting FMX form at design time is shown in the picture below.




The main advantage of using the FNC math components is that you can select appropriate basis functions without running the application. At design time you can change parameter values and math expressions of basis functions. The changes will immediately affect the approximated function and you can see as the fitted curve looks on the FNC chart. Also, you can verify that the approximation succeeded by looking at the properties of the approximated function, as shown in the following picture.

Another feature of
the FNC math components is that they work with symbolic data representation. Although
the approximation uses discrete data as input, the result is a symbolic
expression of the curve. So, we can use this expression for some advanced
analysis. For example, we can evaluate the derivative of the function.

     The TFNCApproxFunction1D
is a descendant of the TFNCBaseFunction1D
class. Thus, we can use the same approach, as described in this article, to
evaluate and draw the derivative of the fitted curve. The resulting designed
form is shown in the picture below.

Note that the
derivative is not evaluated numerically, as a finite difference for example. It
is an analytical math function. So, this function can be evaluated at any
point, not only at discrete points in the data source. Moreover, we can
evaluate the fitted curve and its derivative at the points outside the data
interval (for example, to predict how it is changed at the next point).

It is also easy to manage the parameters of
approximation and other options at run time. For example, with the following
small piece of code, we can update the data source.

var
  x, y: TArray<real>;
begin
  x:= [ 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0 ];
  y:= [ 8.0, 2.7, 1.7,-1.2,-1.7,-4.2,-5.4,-5.7,-5.4 ];
  FNCDataSource1D1.AssignArray(x, y);
end;

When the data is assigned, the components are automatically
updated and we can see the resulting fitted curve and its derivative on the
chart.

The source code of the demo project for the article can be downloaded
from here
. You can install the TMS Analytics & Physics
and
TMS FNC Chart
products and use many other useful features of the FNC math components.


Note that for students and teachers, there is also the free academic version of TMS Analytics & Physics. You can register for it from TMS Web Academy.


Read More

Read More